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

Attachment: msg37180/pgp00000.pgp
Description: PGP signature

Reply via email to