Hello! When building libgo on CentOS 5.11, following warnings appear:
In file included from /usr/include/fcntl.h:38:0, from sysinfo.c:6: /home/uros/gcc-build/gcc/include-fixed/sys/stat.h:317:16: warning: inline function ‘lstat64’ declared but never defined __inline__ int lstat64 (__const char *__restrict __file, ^ /home/uros/gcc-build/gcc/include-fixed/sys/stat.h:286:16: warning: inline function ‘fstatat64’ declared but never defined __inline__ int fstatat64 (int __fd, __const char *__restrict __file, ^ /home/uros/gcc-build/gcc/include-fixed/sys/stat.h:255:16: warning: inline function ‘fstat64’ declared but never defined __inline__ int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2)); ^ /home/uros/gcc-build/gcc/include-fixed/sys/stat.h:250:16: warning: inline function ‘stat64’ declared but never defined __inline__ int stat64 (__const char *__restrict __file, ^ These are emitted from: CC="/home/uros/gcc-build/./gcc/xgcc -B/home/uros/gcc-build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/ local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -DHAVE_CONFIG_H -I. -I../../../gcc-svn/trunk/libgo -I ../../../gcc-svn/trunk/libgo/run time -I../../../gcc-svn/trunk/libgo/../libffi/include -I../libffi/include -pthread -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" /bin/sh ../../../gcc-svn/trunk/libgo/mksysin fo.sh due to the sys/stat.h, which protects above functions with: # if defined __USE_LARGEFILE64 \ && (! defined __USE_FILE_OFFSET64 \ || (defined __REDIRECT_NTH && defined __OPTIMIZE__)) Adding -O to OSCFLAGS fixes this issue, as __OPTIMIZE__ is defined with -O. Patch was bootstrapped and regression tested on x86_64-linux-gnu (CentOS 5.11), where it removes the above warnings. OK for mainline? Uros.
Index: configure =================================================================== --- configure (revision 218778) +++ configure (working copy) @@ -13968,7 +13968,7 @@ -OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O" case "$target" in mips-sgi-irix6.5*) # IRIX 6 needs _XOPEN_SOURCE=500 for the XPG5 version of struct Index: configure.ac =================================================================== --- configure.ac (revision 218778) +++ configure.ac (working copy) @@ -349,7 +349,7 @@ AC_SUBST(GO_SYSCALL_OS_ARCH_FILE) dnl Special flags used to generate sysinfo.go. -OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O" case "$target" in mips-sgi-irix6.5*) # IRIX 6 needs _XOPEN_SOURCE=500 for the XPG5 version of struct