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

Reply via email to