This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: GCC 4.4 - Cygwin build failed in 'strsignal'


>  ../../../gcc-4.4-20080912/libiberty/strsignal.c:408: 
> error: conflicting types for 'strsignal'  /usr/include/string.h:78: 
> note: previous declaration of 'strsignal' was here   


 I don't believe fixing the prototypes to match is actually the correct fix. 


 I believe the correct fix is to effectively remove libiberty's strsignal. 
 That is, Cygwin has its own strsignal and libiberty should not contribute its. 
 This stuff isn't autoconfigured, but it is configured.   
 That is, the autoconf code doesn't sniff the system, it just assumes it 
 knows about the system, but it is incorrect. 

 Like so, in 4.3.2 

 libiberty/configure.ac: 

before:   
 case "${host}" in 
   *-*-cygwin* | *-*-mingw*) 
     AC_DEFINE(HAVE_SYS_ERRLIST) 
     AC_DEFINE(HAVE_SYS_NERR) 
     ;; 
 esac 


 after:  
 
 case "${host}" in 
    *-*-mingw*) 
     AC_DEFINE(HAVE_SYS_ERRLIST) 
     AC_DEFINE(HAVE_SYS_NERR) 
     ;; 
   *-*-cygwin*) 
     AC_DEFINE(HAVE_SYS_ERRLIST) 
     AC_DEFINE(HAVE_SYS_NERR) 
     AC_DEFINE(HAVE_STRSIGNAL) 
     ;; 
 esac 
 

 or maybe, after, better:  

 # this first chunk entirely unchanged 
 case "${host}" in 
   *-*-cygwin* | *-*-mingw*) 
     AC_DEFINE(HAVE_SYS_ERRLIST) 
     AC_DEFINE(HAVE_SYS_NERR) 
     ;; 
 esac 

 # this second chunk added 
 case "${host}" in 
   *-*-cygwin*) 
     AC_DEFINE(HAVE_STRSIGNAL) 
     ;; 
esac 


or maybe this stuff should actually be AUTOconfigured and not merely configured..
If linking is ok.

 - Jay


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]