I've seen this twice now on both alpha and sparc64.  It looks to be related to
the ENDIAN macro changes:

===> usr.bin/ldd
/arch/sparc64/hosted/bin/gcc -O -pipe  -Wall    -c
/home/john/work/p4/sparc64/usr.bin/ldd/ldd.c
In file included from /home/john/work/p4/sparc64/usr.bin/ldd/ldd.c:36:
/usr/include/sys/wait.h:114: duplicate member `w_Filler'
/usr/include/sys/wait.h:115: duplicate member `w_Retcode'
/usr/include/sys/wait.h:116: duplicate member `w_Coredump'
/usr/include/sys/wait.h:117: duplicate member `w_Termsig'
/usr/include/sys/wait.h:132: duplicate member `w_Filler'
/usr/include/sys/wait.h:133: duplicate member `w_Stopsig'
/usr/include/sys/wait.h:134: duplicate member `w_Stopval'
/home/john/work/p4/sparc64/usr.bin/ldd/ldd.c: In function `main':
/home/john/work/p4/sparc64/usr.bin/ldd/ldd.c:141: warning: implicit declaration
of function `ntohl'
*** Error code 1

Stop in /home/john/work/p4/sparc64/usr.bin/ldd.
*** Error code 1

Stop in /home/john/work/p4/sparc64/usr.bin.
*** Error code 1

Stop in /home/john/work/p4/sparc64.
*** Error code 1

In sys/wait.h:

union wait {
        int     w_status;               /* used in syscall */
        /*
         * Terminated process status.
         */
        struct {
#if BYTE_ORDER == LITTLE_ENDIAN
                unsigned int    w_Termsig:7,    /* termination signal */
                                w_Coredump:1,   /* core dump indicator */
                                w_Retcode:8,    /* exit code if w_termsig==0 */
                                w_Filler:16;    /* upper bits filler */
#endif
#if BYTE_ORDER == BIG_ENDIAN
                unsigned int    w_Filler:16,    /* upper bits filler */
                                w_Retcode:8,    /* exit code if w_termsig==0 */
                                w_Coredump:1,   /* core dump indicator */
                                w_Termsig:7;    /* termination signal */
#endif
        } w_T;

I guess all of those symbols are not defined or something and so have values of
0 and 0 == 0?

sys/wait.h includes machine/endian.h right before it defines this union, so
something must be broke in there.

-- 

John Baldwin <[EMAIL PROTECTED]>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to