public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris
@ 2022-11-16 14:41 ro at gcc dot gnu.org
2022-11-16 14:42 ` [Bug build/29791] " ro at gcc dot gnu.org
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-16 14:41 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
Bug ID: 29791
Summary: [13 regression] Many gdbsupport files don't compile on
Solaris
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: build
Assignee: unassigned at sourceware dot org
Reporter: ro at gcc dot gnu.org
Target Milestone: ---
Host: *-*-solaris2.11
Target: *-*-solaris2.11
Build: *-*-solaris2.11
When trying to build current trunk on Solaris 11.4 (both SPARC and x86) with
the bundled GCC 12.2.0, a large part of gdbsupport failed to compile like this:
$ g++ -DHAVE_CONFIG_H -I. -I/vol/src/gnu/gdb/hg/master/dist/gdbsupport
-I/vol/src/gnu/gdb/hg/master/dist/gdbsupport/../include
-I/vol/src/gnu/gdb/hg/master/dist/gdbsupport/../gdb -I../gnulib/import
-I/vol/src/gnu/gdb/hg/master/dist/gdbsupport/../gnulib/import -I..
-I/vol/src/gnu/gdb/hg/master/dist/gdbsupport/.. -I../bfd
-I/vol/src/gnu/gdb/hg/master/dist/gdbsupport/../bfd -Wall -Wpointer-arith
-Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch
-Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter
-Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized
-Wno-mismatched-tags -Wsuggest-override -Wimplicit-fallthrough=3
-Wduplicated-cond -Wshadow=local -Wdeprecated-copy -Wdeprecated-copy-dtor
-Wredundant-move -Wmissing-declarations -Wstrict-null-sentinel
-Wno-unknown-pragmas -Wno-deprecated-declarations -Werror -g -O2 -MT ptid.o
-MD -MP -MF .deps/ptid.Tpo -c -o ptid.o
/vol/src/gnu/gdb/hg/master/dist/gdbsupport/ptid.cc
In file included from /usr/include/sys/time.h:448,
from ../gnulib/import/sys/time.h:39,
from /usr/include/sys/select.h:27,
from ../gnulib/import/sys/select.h:36,
from /usr/include/sys/types.h:665,
from ../gnulib/import/sys/types.h:39,
from ../gnulib/import/stdio.h:58,
from
/vol/src/gnu/gdb/hg/master/dist/gdbsupport/common-defs.h:86,
from /vol/src/gnu/gdb/hg/master/dist/gdbsupport/ptid.cc:20:
../gnulib/config.h:1693:72: error: ‘malloc’ attribute argument 1 is ambiguous
1693 | # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f,
i)))
|
^
../gnulib/config.h:1693:72: note: use a cast to the expected type to
disambiguate
../gnulib/config.h:1693:72: error: ‘malloc’ attribute argument 1 is ambiguous
1693 | # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f,
i)))
|
^
../gnulib/config.h:1693:72: note: use a cast to the expected type to
disambiguate
../gnulib/config.h:1693:72: error: ‘malloc’ attribute argument 1 is ambiguous
1693 | # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f,
i)))
|
^
../gnulib/config.h:1693:72: note: use a cast to the expected type to
disambiguate
../gnulib/config.h:1693:72: error: ‘malloc’ attribute argument 1 is ambiguous
1693 | # define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f,
i)))
|
^
../gnulib/config.h:1693:72: note: use a cast to the expected type to
disambiguate
TBH, I don't have the slightest idea what this is supposed to mean, let alone
how to fix it.
It can be reproduced with the attached ptid.ii as
$ g++ -Wall -O2 -c -o ptid.o ptid.ii
To get further along, I'm currently using the attached hack to disable
_GL_ATTRIBUTE_DEALLOC on Solaris.
For the time being, I've
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
@ 2022-11-16 14:42 ` ro at gcc dot gnu.org
2022-11-16 14:43 ` ro at gcc dot gnu.org
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-16 14:42 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |13.1
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
2022-11-16 14:42 ` [Bug build/29791] " ro at gcc dot gnu.org
@ 2022-11-16 14:43 ` ro at gcc dot gnu.org
2022-11-16 14:44 ` ro at gcc dot gnu.org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-16 14:43 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
--- Comment #1 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 14456
--> https://sourceware.org/bugzilla/attachment.cgi?id=14456&action=edit
Preprocessed ptid.cc
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
2022-11-16 14:42 ` [Bug build/29791] " ro at gcc dot gnu.org
2022-11-16 14:43 ` ro at gcc dot gnu.org
@ 2022-11-16 14:44 ` ro at gcc dot gnu.org
2022-11-16 19:21 ` tromey at sourceware dot org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-16 14:44 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
--- Comment #2 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 14457
--> https://sourceware.org/bugzilla/attachment.cgi?id=14457&action=edit
Workaround patch
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
` (2 preceding siblings ...)
2022-11-16 14:44 ` ro at gcc dot gnu.org
@ 2022-11-16 19:21 ` tromey at sourceware dot org
2022-11-17 9:55 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: tromey at sourceware dot org @ 2022-11-16 19:21 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
Tom Tromey <tromey at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |tromey at sourceware dot org
--- Comment #3 from Tom Tromey <tromey at sourceware dot org> ---
I found this: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101747
which points out a problem with the 2-argument form of
the malloc attribute.
Unfortunately the error messages here don't tell us enough to know
where the ambiguous use occurs. They just refer back to the macro
itself -- but we want the spot where it is invoked. Normally GCC
shows this.
I also don't know the correct fix. The opacity here is one of the
issues with using gnulib, IMO. Maybe reaching out to them is the
best thing to do. Meanwhile, especially just before the GDB 13
release, I'm reasonably fine with a workaround like the one you have.
Our gnulib import has a way to automate application of a patch
when doing a new import. See gnulib/update-gnulib.sh and
gnulib/patches/. I guess you should do something along those
lines.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
` (3 preceding siblings ...)
2022-11-16 19:21 ` tromey at sourceware dot org
@ 2022-11-17 9:55 ` cvs-commit at gcc dot gnu.org
2022-11-18 12:50 ` ro at gcc dot gnu.org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-11-17 9:55 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Rainer Orth <ro@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f4ad82b3bcc4ae2cecba00177561ddfad49ccef2
commit f4ad82b3bcc4ae2cecba00177561ddfad49ccef2
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Thu Nov 17 10:55:25 2022 +0100
Fix various procfs.c compilation errors
procfs.c has accumulated several compilation errors lately (some of them
new with GCC 12), which are fixed by this patch:
* auxv_parse gets:
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:144:7: error: int
procfs_target::auxv_parse(gdb_byte**, gdb_byte*, CORE_ADDR*, CORE_ADDR*)
marked override, but does not override
144 | int auxv_parse (gdb_byte **readptr,
| ^~~~~~~~~~
Obviouly, procfs.c was missed in the auxv_parse constification.
* dead_procinfo has:
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function void
dead_procinfo(procinfo*, const char*, int):
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:563:11: warning: the address
of procinfo::pathname will never be NULL [-Waddress]
563 | if (pi->pathname)
| ~~~~^~~~~~~~
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:238:8: note:
procinfo::pathname declared here
238 | char pathname[MAX_PROC_NAME_SIZE]; /* Pathname to /proc entry
*/
| ^~~~~~~~
The warning is correct, so the code can lose support for the NULL
pathname case.
* create_inferior has this ugly warning:
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In member function virtual
void procfs_target::create_inferior(const char*, const std::string&, char**,
int):
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2815:19: warning: char*
std::strncpy(char*, const char*, size_t) output truncated before terminating
nul copying as many bytes from a string as its length [-Wstringop-truncation]
2815 | strncpy (tryname, p, len);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:2814:26: note: length computed
here
2814 | len = strlen (p);
| ~~~~~~~^~~
It seems that this is another case of GCC PR middle-end/88059, which
Martin Sebor refuses to fix. So I'm using the hack suggested in the
PR to use memcpy instead of strncpy.
* find_memory_regions_callback fails with
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c: In function int
find_memory_regions_callback(prmap*, find_memory_region_ftype, void*):
/vol/src/gnu/gdb/hg/master/dist/gdb/procfs.c:3167:18: error: too few
arguments to function
3167 | return (*func) ((CORE_ADDR) map->pr_vaddr,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
3168 | map->pr_size,
| ~~~~~~~~~~~~~
3169 | (map->pr_mflags & MA_READ) != 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3170 | (map->pr_mflags & MA_WRITE) != 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3171 | (map->pr_mflags & MA_EXEC) != 0,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3172 | 1, /* MODIFIED is unknown, pass it as true. */
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3173 | data);
| ~~~~~
Again, procfs.c was overlooked when adding the new memory_tagged arg.
Unfortunately, it wasn't even documented in gdb/defs.h when it was
added in
commit 68cffbbd4406b4efe1aa6e18460b1d7ca02549f1
Author: Luis Machado <luis.machado@arm.com>
Date: Thu Mar 31 11:42:35 2022 +0100
[AArch64] MTE corefile support
With those changes, procfs.c compiles again. Together with the hack
from the Solaris gdbsupport breakage reported in PR build/29791, I was
able to build and test gdb on both amd64-pc-solaris2.11 and
sparcv9-sun-solaris2.11.
Approved-By: Simon Marchi <simon.marchi@efficios.com>
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
` (4 preceding siblings ...)
2022-11-17 9:55 ` cvs-commit at gcc dot gnu.org
@ 2022-11-18 12:50 ` ro at gcc dot gnu.org
2022-11-18 13:10 ` ro at gcc dot gnu.org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-18 12:50 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
--- Comment #5 from Rainer Orth <ro at gcc dot gnu.org> ---
(In reply to Tom Tromey from comment #3)
> I found this: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101747
> which points out a problem with the 2-argument form of
> the malloc attribute.
I'd found this myself, but forgotten about it. I've meanwhile reported the
current failure in that PR: let's see what we get from that.
> Unfortunately the error messages here don't tell us enough to know
> where the ambiguous use occurs. They just refer back to the macro
> itself -- but we want the spot where it is invoked. Normally GCC
> shows this.
Indeed: that's why I couldn't really make sense of the error, and failed to
produce a reduced testcase.
> I also don't know the correct fix. The opacity here is one of the
> issues with using gnulib, IMO. Maybe reaching out to them is the
> best thing to do. Meanwhile, especially just before the GDB 13
> release, I'm reasonably fine with a workaround like the one you have.
My current feeling is to wait with a gnulib bug report until I hear from the
GCC side: otherwise, there's probably not much what they can do about the
problem.
> Our gnulib import has a way to automate application of a patch
> when doing a new import. See gnulib/update-gnulib.sh and
> gnulib/patches/. I guess you should do something along those
> lines.
Thanks, that got me started. I've a patch ready along those lines that I will
post shortly.
Thanks.
Rainer
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
` (5 preceding siblings ...)
2022-11-18 12:50 ` ro at gcc dot gnu.org
@ 2022-11-18 13:10 ` ro at gcc dot gnu.org
2022-11-20 14:15 ` ro at gcc dot gnu.org
2022-11-26 14:09 ` brobecker at gnat dot com
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-18 13:10 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at sourceware dot org |ro at gcc dot gnu.org
URL| |https://sourceware.org/pipe
| |rmail/gdb-patches/2022-Nove
| |mber/193950.html
--- Comment #6 from Rainer Orth <ro at gcc dot gnu.org> ---
Proposed patch posted.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
` (6 preceding siblings ...)
2022-11-18 13:10 ` ro at gcc dot gnu.org
@ 2022-11-20 14:15 ` ro at gcc dot gnu.org
2022-11-26 14:09 ` brobecker at gnat dot com
8 siblings, 0 replies; 10+ messages in thread
From: ro at gcc dot gnu.org @ 2022-11-20 14:15 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |WAITING
--- Comment #7 from Rainer Orth <ro at gcc dot gnu.org> ---
The patch has now been committed, although bugzilla somehow didn't pick that
up.
However, I'd like to keep the PR open for a bit in case I get an analysis of
what's wrong (and a real fix) in the GCC PR.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug build/29791] [13 regression] Many gdbsupport files don't compile on Solaris
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
` (7 preceding siblings ...)
2022-11-20 14:15 ` ro at gcc dot gnu.org
@ 2022-11-26 14:09 ` brobecker at gnat dot com
8 siblings, 0 replies; 10+ messages in thread
From: brobecker at gnat dot com @ 2022-11-26 14:09 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=29791
Joel Brobecker <brobecker at gnat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|13.1 |---
CC| |brobecker at gnat dot com
--- Comment #8 from Joel Brobecker <brobecker at gnat dot com> ---
Since the GDB side of things is now in order and we're keeping this PR open
pending some other analysis, I am removing the target milestone, so as to drop
this PR from the release dashboard.
Another option if you prefer, Rainer, would be to mark this PR as done with
target milestone 13.1, and open a separate PR for the GCC side of things. The
former allows for slightly more structured information, but since I don't think
any release is impacted, I don't see this as being critical.
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-11-26 14:09 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-16 14:41 [Bug build/29791] New: [13 regression] Many gdbsupport files don't compile on Solaris ro at gcc dot gnu.org
2022-11-16 14:42 ` [Bug build/29791] " ro at gcc dot gnu.org
2022-11-16 14:43 ` ro at gcc dot gnu.org
2022-11-16 14:44 ` ro at gcc dot gnu.org
2022-11-16 19:21 ` tromey at sourceware dot org
2022-11-17 9:55 ` cvs-commit at gcc dot gnu.org
2022-11-18 12:50 ` ro at gcc dot gnu.org
2022-11-18 13:10 ` ro at gcc dot gnu.org
2022-11-20 14:15 ` ro at gcc dot gnu.org
2022-11-26 14:09 ` brobecker at gnat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).