This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: build/955: build failure with GDB-5.3: sparc-nat.c structure redefinition errors with sparc64-linux, glibc-2.2.x
- From: Christian Joensson <c dot christian dot joensson at telia dot com>
- To: Nix <nix at esperi dot demon dot co dot uk>, gdb-gnats at sources dot redhat dot com, gdb-patches at sources dot redhat dot com
- Date: Sat, 10 May 2003 15:35:27 +0200
- Subject: Re: build/955: build failure with GDB-5.3: sparc-nat.c structure redefinition errors with sparc64-linux, glibc-2.2.x
- References: <20030427150800.19859.qmail@sources.redhat.com> <20030427153321.GA3394@nevyn.them.org> <20030510095712.A19164@u1sparc.j-son.org>
On Sat, May 10, 2003 at 09:57:12AM +0200, Christian Joensson wrote:
> On Sun, Apr 27, 2003 at 11:33:21AM -0400, Daniel Jacobowitz wrote:
> > On Sun, Apr 27, 2003 at 03:08:00PM -0000, Nix wrote:
> > > The following reply was made to PR build/955; it has been noted by GNATS.
> > >
> > > From: Nix <nix@esperi.demon.co.uk>
> > > To: Christian =?iso-8859-1?q?J=F6nsson?= <c.christian.joensson@telia.com>
> > > Cc: <nobody@sources.redhat.com>, <gdb-gnats@sources.redhat.com>,
> > > <gdb-prs@sources.redhat.com>, <aurora-sparc-devel@linuxpower.org>
> > > Subject: Re: build/955: build failure with GDB-5.3: sparc-nat.c structure redefinition errors with sparc64-linux, glibc-2.2.x
> > > Date: 27 Apr 2003 15:45:01 +0100
> > >
> > > On Sun, 27 Apr 2003, Christian Jönsson spake:
> > > > http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&databas
> > > > e=gdb&pr=955
> > > >
> > > > Is *anything* happening on this issue in gdb cvs HEAD?
> > >
> > > My apologies for not following up; this patch, abstracted from Debian
> > > (where fading memory tells me it is due to Daniel Jacobowitz), fixes it,
> > > but is probably too ugly to go in; the incompatibility test should
> > > really be done by configure:
> >
> > Right on the origin and ugliness counts, which is why I never got
> > around to doing anything about it. But it's better than nothing, since
> > it lets sparc-linux build, so I suppose it should go in... does anyone object?
> >
> > > Index: gdb/gdb/sparc-nat.c
> > > ===================================================================
> > > RCS file: /cvs/src/src/gdb/sparc-nat.c,v
> > > retrieving revision 1.13.12.1
> > > diff -u -r1.13.12.1 sparc-nat.c
> > > --- gdb/gdb/sparc-nat.c 3 Dec 2002 22:35:49 -0000 1.13.12.1
> > > +++ gdb/gdb/sparc-nat.c 27 Apr 2003 14:39:53 -0000
> > > @@ -33,6 +33,13 @@
> > > #include <sys/ptrace.h>
> > > #include <sys/wait.h>
> > > #ifdef __linux__
> > > +/* Sadly, <sys/ucontext.h> conflicts with <asm/reg.h> on Linux. And
> > > + -D_GNU_SOURCE brings in <sys/ucontext.h> implicitly with <signal.h>.
> > > + Hack around this. */
> > > +#undef FPU_REGS_TYPE
> > > +#define fpu asm_reg_fpu
> > > +#define fq asm_reg_fq
> > > +#define fpq asm_reg_fpq
> > > #include <asm/reg.h>
> > > #else
> > > #include <machine/reg.h>
> > >
> > >
> > > --
> > > `It is an unfortunate coincidence that the date locarchive.h was
> > > written (in hex) matches Ritchie's birthday (in octal).'
> > > -- Roland McGrath on the libc-alpha list
> > >
> >
> > --
> > Daniel Jacobowitz
> > MontaVista Software Debian GNU/Linux Developer
>
> ping... how's it going?
>
I just thougt I'd test your suggested patch... it still fails...
This is how the compile stops with error in the current gdb cvs HEAD:
gcc -c -g -O2 -I. -I/home/chj/src/gdb -I/home/chj/src/gdb/config -DLOCALEDIR="\"/usr/local/gcc-binutils/share/locale\"" -DHAVE_CONFIG_H -I/home/chj/src/gdb/../include/opcode -I/home/chj/src/gdb/../readline/.. -I../bfd -I/home/chj/src/gdb/../bfd -I/home/chj/src/gdb/../include -I../intl -I/home/chj/src/gdb/../intl -DMI_OUT=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wuninitialized /home/chj/src/gdb/sparc-nat.c
In file included from /usr/include/asm/reg.h:4,
from /home/chj/src/gdb/sparc-nat.c:36:
/usr/include/asm-sparc64/reg.h:49: error: redefinition of `struct fpu'
/home/chj/src/gdb/sparc-nat.c: In function `fetch_inferior_registers':
/home/chj/src/gdb/sparc-nat.c:99: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c:103: warning: implicit declaration of function `memcpy'
/home/chj/src/gdb/sparc-nat.c:106: error: structure has no member named `r_ps'
/home/chj/src/gdb/sparc-nat.c:108: error: structure has no member named `r_pc'
/home/chj/src/gdb/sparc-nat.c:110: error: structure has no member named `r_npc'
/home/chj/src/gdb/sparc-nat.c:111: error: `registers' undeclared (first use in this function)
/home/chj/src/gdb/sparc-nat.c:111: error: (Each undeclared identifier is reported only once
/home/chj/src/gdb/sparc-nat.c:111: error: for each function it appears in.)
/home/chj/src/gdb/sparc-nat.c:132: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c: In function `store_inferior_registers':
/home/chj/src/gdb/sparc-nat.c:257: error: structure has no member named `r_ps'
/home/chj/src/gdb/sparc-nat.c:259: error: structure has no member named `r_pc'
/home/chj/src/gdb/sparc-nat.c:261: error: structure has no member named `r_npc'
/home/chj/src/gdb/sparc-nat.c:267: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c:283: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c: In function `fetch_core_registers':
/home/chj/src/gdb/sparc-nat.c:317: error: structure has no member named `r_ps'
/home/chj/src/gdb/sparc-nat.c:318: error: structure has no member named `r_pc'
/home/chj/src/gdb/sparc-nat.c:319: error: structure has no member named `r_npc'
make[1]: *** [sparc-nat.o] Error 1
make[1]: Leaving directory `/usr/local/src/gcc-binutils/trunk/objdir-gdb/gdb'
make: *** [all-gdb] Error 2
and with your suggested patch, still we have:
gcc -c -g -O2 -I. -I/home/chj/src/gdb -I/home/chj/src/gdb/config -DLOCALEDIR="\"/usr/local/gcc-binutils/share/locale\"" -DHAVE_CONFIG_H -I/home/chj/src/gdb/../include/opcode -I/home/chj/src/gdb/../readline/.. -I../bfd -I/home/chj/src/gdb/../bfd -I/home/chj/src/gdb/../include -I../intl -I/home/chj/src/gdb/../intl -DMI_OUT=1 -Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith -Wuninitialized /home/chj/src/gdb/sparc-nat.c
/home/chj/src/gdb/sparc-nat.c: In function `fetch_inferior_registers':
/home/chj/src/gdb/sparc-nat.c:106: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c:110: warning: implicit declaration of function `memcpy'
/home/chj/src/gdb/sparc-nat.c:113: error: structure has no member named `r_ps'
/home/chj/src/gdb/sparc-nat.c:115: error: structure has no member named `r_pc'
/home/chj/src/gdb/sparc-nat.c:117: error: structure has no member named `r_npc'
/home/chj/src/gdb/sparc-nat.c:118: error: `registers' undeclared (first use in this function)
/home/chj/src/gdb/sparc-nat.c:118: error: (Each undeclared identifier is reported only once
/home/chj/src/gdb/sparc-nat.c:118: error: for each function it appears in.)
/home/chj/src/gdb/sparc-nat.c:139: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c: In function `store_inferior_registers':
/home/chj/src/gdb/sparc-nat.c:264: error: structure has no member named `r_ps'
/home/chj/src/gdb/sparc-nat.c:266: error: structure has no member named `r_pc'
/home/chj/src/gdb/sparc-nat.c:268: error: structure has no member named `r_npc'
/home/chj/src/gdb/sparc-nat.c:274: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c:290: warning: cast from pointer to integer of different size
/home/chj/src/gdb/sparc-nat.c: In function `fetch_core_registers':
/home/chj/src/gdb/sparc-nat.c:324: error: structure has no member named `r_ps'
/home/chj/src/gdb/sparc-nat.c:325: error: structure has no member named `r_pc'
/home/chj/src/gdb/sparc-nat.c:326: error: structure has no member named `r_npc'
make[1]: *** [sparc-nat.o] Error 1
make[1]: Leaving directory `/usr/local/src/gcc-binutils/trunk/objdir-gdb/gdb'
make: *** [all-gdb] Error 2
Cheers,
/ChJ