I see the same breakage here. The breakage has nothing to do with -Werror. Recent commit by Mike Barcroft to sys/*/endian.h is the culprit.
But the actual problem is with gdb. After a lot of experimenting I've found that contrib/gdb.291/gdb/defs.h includes "nm.h" (gnu/usr.bin/binutils/gdb/${MACHINE_ARCH}/nm.h) which are too different between i386 and alpha. In the i386 case, "nm.h" includes <sys/types.h> which exposes __BSD_VISIBLE (see how these affect the *_ENDIAN macros in sys/*/endian.h). But not in the alpha case. Applying this patch exposes the same bug on i386: %%% Index: nm.h =================================================================== RCS file: /home/ncvs/src/gnu/usr.bin/binutils/gdb/i386/nm.h,v retrieving revision 1.10 diff -u -p -r1.10 nm.h --- nm.h 17 Aug 2000 16:27:26 -0000 1.10 +++ nm.h 12 Apr 2002 13:36:40 -0000 @@ -133,7 +133,9 @@ extern int kernel_writablecore; if (!strcmp(STR, "kgdb")) \ kernel_debugging = 1; +#if 0 #include <sys/types.h> +#endif #include <sys/ptrace.h> #ifdef PT_GETDBREGS %%% The solution is to fix defs.h: %%% Index: defs.h =================================================================== RCS file: /home/ncvs/src/contrib/gdb.291/gdb/defs.h,v retrieving revision 1.3 diff -u -p -r1.3 defs.h --- defs.h 11 Apr 2001 16:15:19 -0000 1.3 +++ defs.h 12 Apr 2002 13:53:37 -0000 @@ -841,6 +841,8 @@ extern void free (); #ifdef HAVE_ENDIAN_H #include <endian.h> +#else +#include <sys/types.h> #endif #if !defined (BIG_ENDIAN) %%% On Thu, Apr 11, 2002 at 09:54:48AM -0700, Dag-Erling Smorgrav wrote: > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symmisc.c: > In function `maintenance_print_symbols': > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symmisc.c:540: > warning: assignment makes pointer from integer without a cast > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symmisc.c: > In function `maintenance_print_psymbols': > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symmisc.c:777: > warning: assignment makes pointer from integer without a cast > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symmisc.c: > In function `maintenance_print_msymbols': > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symmisc.c:925: > warning: assignment makes pointer from integer without a cast > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/symtab.c:40: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from wait.h:93, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/target.c:32: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/thread.c:35: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/time.h:40, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/signal.h:45, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/signals.h:27, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/top.c:28: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/top.c: > In function `init_main': > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/top.c:3467: > warning: assignment from incompatible pointer type > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/unistd.h:41, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/tracepoint.c:43: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/unistd.h:41, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/utils.c:26: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/fcntl.h:52, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/ser-unix.c:22: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/ser-tcp.c:22: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/alpha/freebsd-nat.c:23: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c: > In function `kcore_open': > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdb/alpha/kvm-fbsd.c:218: > warning: assignment makes pointer from integer without a cast > ===> gnu/usr.bin/binutils/gdbserver > In file included from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/types.h:49, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/fcntl.h:52, > from >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/sys/file.h:41, > from >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdbserver/../../../../contrib/gdb.291/gdb/gdbserver/remote-utils.c:25: > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:64: > warning: `LITTLE_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdbserver/../../../../contrib/gdb.291/gdb/defs.h:851: > warning: this is the location of the previous definition > >/tmp/des/obj/alpha/.amd_mnt/freefall/host/d/home/des/tinderbox/src/alpha/usr/include/machine/endian.h:65: > warning: `BIG_ENDIAN' redefined > >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdbserver/../../../../contrib/gdb.291/gdb/defs.h:847: > warning: this is the location of the previous definition > *** Error code 1 > > Stop in >/.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils/gdbserver. > *** Error code 1 > > Stop in /.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin/binutils. > *** Error code 1 > > Stop in /.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu/usr.bin. > *** Error code 1 > > Stop in /.amd_mnt/freefall/host/d/home/des/tinderbox/src/gnu. > *** Error code 1 > > Stop in /.amd_mnt/freefall/host/d/home/des/tinderbox/src. > *** Error code 1 > > Stop in /.amd_mnt/freefall/host/d/home/des/tinderbox/src. > *** Error code 1 > > Stop in /.amd_mnt/freefall/host/d/home/des/tinderbox/src. -- Ruslan Ermilov Sysadmin and DBA, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
msg37180/pgp00000.pgp
Description: PGP signature