I am trying to track down a bootstrap failure on i386-unknown-freebsd6.2
that was introduced between 48 hours and 24 hours ago, roughly:
gcc -c -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I.
-Ibuild -I/sw/test/GCC/trunk/gcc -I/sw/test/GCC/trunk/gcc/build
-I/sw/test/GCC/trunk/gcc/../include -I./../intl
-I/sw/test/GCC/trunk/gcc/../libcpp/include -I/usr/local/include
-I/sw/test/GCC/trunk/gcc/../libdecnumber
-I/sw/test/GCC/trunk/gcc/../libdecnumber/dpd -I../libdecnumber -o
build/genmodes.o /sw/test/GCC/trunk/gcc/genmodes.c
In file included from /sw/test/GCC/trunk/gcc/genmodes.c:23:
/sw/test/GCC/trunk/gcc/system.h:418: error: conflicting types for 'strsignal'
/usr/include/string.h:104: error: previous declaration of 'strsignal' was here
/sw/test/GCC/trunk/gcc/system.h:418: error: conflicting types for 'strsignal'
/usr/include/string.h:104: error: previous declaration of 'strsignal' was here
gmake[3]: *** [build/genmodes.o] Error 1
gmake[3]: Leaving directory `/usr/nabil-files/pfeifer/OBJ-0501-2228/gcc'
gmake[2]: *** [all-stage1-gcc] Error 2
gmake[2]: Leaving directory `/usr/nabil-files/pfeifer/OBJ-0501-2228'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/usr/nabil-files/pfeifer/OBJ-0501-2228'
gmake: *** [bootstrap-lean] Error 2
I've been wading through ChangeLogs, svn blame, and svn logs, but
somehow got stuck tracking this bugger down. This does not reproduce
on i686-suse-linux, and I don't see why this started to fail out of
a sudden.
In gcc/auto-host.h in the build tree I have:
#define HAVE_DECL_STRSIGNAL 0
#define HAVE_STRSIGNAL 1
In /usr/include/string.h I have:
#if __BSD_VISIBLE
char *strsep(char **, const char *);
char *strsignal(int);
#endif
And gcc/system.h, which hasn't changed for some months, has:
/* If the system doesn't provide strsignal, we get it defined in
libiberty but no declaration is supplied. */
#if !defined (HAVE_STRSIGNAL) \
|| (defined (HAVE_DECL_STRSIGNAL) && !HAVE_DECL_STRSIGNAL)
# ifndef strsignal
extern const char *strsignal (int);
# endif
#endif
Any recommendations on where I might want to look or what might be
causing this build failure out of a sudden?
Gerald