Subject: Re: build failure of macppc on macppc in libc/hash.o
To: None <current-users@netbsd.org>
From: Christos Zoulas <christos@astron.com>
List: current-users
Date: 10/16/2005 02:38:30
In article <200510152117.49920.jakllsch@kollasch.net>,
Jonathan A. Kollasch <jakllsch@kollasch.net> wrote:
>Hi,
>
>While running './build.sh -U -u release' in a clean source checkout from my 
>repository just after it was cvsuped from the mirror in Japan. MAKECONF 
>points to a file containing only 'CFLAGS=-pipe'.
>
>On:
>
>NetBSD ans.kollasch.net 3.99.7 NetBSD 3.99.7 (GENERIC.RAL) #0: Thu Jul 14 
>21:28:53 CDT 2005  root@:/usr/src/sys/arch/macppc/compile/GENERIC.RAL macppc
>
>(GENERIC with additon of ral @ pci (btw the ral card couldn't actually send or 
>receive packets on macppc, but that's another issue))
>
>I get this:
>
>#   compile  libc/hash.o
>/home/tmp/src/tooldir.NetBSD-3.99.7-powerpc/bin/powerpc--netbsd-gcc -pipe 
>-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith 
>-Wno-sign-compare -Wno-traditional -Wreturn-type -Wswitch -Wshadow  -Werror    
>-D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT 
>-I/home/tmp/src/lib/libc/include -I/home/tmp/src/lib/libc -DHESIOD -DINET6 
>-DNLS -DYP -D__DBINTERFACE_PRIVATE -DI18NMODULE_MAJOR=4 -DCITRUS 
>-I/home/tmp/src/sys -I/home/tmp/src/lib/libc/stdlib 
>-I/home/tmp/src/libexec/ld.elf_so -I/home/tmp/src/lib/libc/dlfcn 
>-DCITRUS_ICONV -DWITH_RUNE -I/home/tmp/src/lib/libc -DPOSIX_MISTAKE 
>-DCOMPAT__RES -DPORTMAP -DFLOATING_POINT -DALL_STATE -DUSG_COMPAT   -nostdinc 
>-isystem /home/tmp/src/destdir.macppc/usr/include 
>-c    /home/tmp/src/lib/libc/db/hash/hash.c -o hash.o.tmp
>/home/tmp/src/lib/libc/db/hash/hash.c: In function `hash_seq':
>/home/tmp/src/lib/libc/db/hash/hash.c:743: warning: `bufp' might be used 
>uninitialized in this function
>
>*** Failed target:  hash.o
>
>Is this my fault?

You are not compiling with optimization on, so it might be that gcc does
not do flow analysis properly... In the declaration of bufp add 

  register BUHEAD *bufp = NULL; /* XXX: gcc */

and that will let your build keep going. 

christos