http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61026
--- Comment #7 from Jan-Benedict Glaw <jbg...@lug-owl.de> --- I'm not 100% sure, but I guess this fix breaks building GCC on gcc111.fsffrance.org . All build details can be found here: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=218196 The actual error message is: g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/opt/cfarm/gmp-latest/include -I/opt/cfarm/mpfr-latest/include -I/opt/cfarm/mpc-latest/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o sh.o -MT sh.o -MMD -MP -MF ./.deps/sh.TPo /home/jbglaw/repos/gcc/gcc/config/sh/sh.c In file included from /home/jbglaw/repos/gcc/gcc/system.h:262:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/unistd.h:201:41: error: declaration of C function 'off64_t lseek64(int, off64_t, int)' conflicts with extern off64_t lseek64(int, off64_t, int); ^ /usr/include/unistd.h:199:14: error: previous declaration 'off_t lseek64(int, off_t, int)' here extern off_t lseek(int, off_t, int); ^ In file included from /usr/include/unistd.h:844:0, from /home/jbglaw/repos/gcc/gcc/system.h:262, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/sys/lockf.h:64:39: error: declaration of C function 'int lockf64(int, int, off64_t)' conflicts with extern int lockf64 (int, int, off64_t); ^ /usr/include/sys/lockf.h:62:13: error: previous declaration 'int lockf64(int, int, off_t)' here extern int lockf (int, int, off_t); ^ In file included from /home/jbglaw/repos/gcc/gcc/system.h:262:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/unistd.h:917:38: error: declaration of C function 'int ftruncate64(int, off64_t)' conflicts with extern int ftruncate64(int, off64_t); ^ In file included from /home/jbglaw/repos/gcc/gcc/system.h:262:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/unistd.h:915:14: error: previous declaration 'int ftruncate64(int, off_t)' here extern int ftruncate(int, off_t); ^ In file included from /home/jbglaw/repos/gcc/gcc/system.h:262:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/unistd.h:974:46: error: declaration of C function 'int truncate64(const char*, off64_t)' conflicts with extern int truncate64(const char *, off64_t); ^ In file included from /home/jbglaw/repos/gcc/gcc/system.h:262:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/unistd.h:972:14: error: previous declaration 'int truncate64(const char*, off_t)' here extern int truncate(const char *, off_t); ^ In file included from /home/jbglaw/repos/gcc/gcc/system.h:262:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/unistd.h:993:54: error: declaration of C function 'ssize_t pread64(int, void*, size_t, off64_t)' conflicts with extern ssize_t pread64(int, void *, size_t, off64_t); ^ /usr/include/unistd.h:990:18: error: previous declaration 'ssize_t pread64(int, void*, size_t, off_t)' here extern ssize_t pread(int, void *, size_t, off_t); ^ /usr/include/unistd.h:994:61: error: declaration of C function 'ssize_t pwrite64(int, const void*, size_t, off64_t)' conflicts with extern ssize_t pwrite64(int, const void *, size_t, off64_t); ^ /usr/include/unistd.h:991:18: error: previous declaration 'ssize_t pwrite64(int, const void*, size_t, off_t)' here extern ssize_t pwrite(int, const void *, size_t, off_t); ^ /usr/include/unistd.h:1079:38: error: declaration of C function 'off64_t fclear64(int, off64_t)' conflicts with extern off64_t fclear64(int, off64_t); ^ /usr/include/unistd.h:1076:15: error: previous declaration 'off_t fclear64(int, off_t)' here extern off_t fclear(int, off_t); ^ /usr/include/unistd.h:1080:53: error: declaration of C function 'int fsync_range64(int, int, off64_t, off64_t)' conflicts with extern int fsync_range64(int, int, off64_t, off64_t); ^ /usr/include/unistd.h:1077:13: error: previous declaration 'int fsync_range64(int, int, off_t, off_t)' here extern int fsync_range(int, int, off_t, off_t); ^ In file included from /home/jbglaw/repos/gcc/gcc/system.h:389:0, from /home/jbglaw/repos/gcc/gcc/config/sh/sh.c:27: /usr/include/sys/mman.h:148:60: error: declaration of C function 'void* mmap64(void*, size_t, int, int, int, off64_t)' conflicts with extern void *mmap64(void *, size_t, int, int, int, off64_t); ^ /usr/include/sys/mman.h:143:15: error: previous declaration 'void* mmap64(void*, size_t, int, int, int, off_t)' here extern void *mmap(void *, size_t, int, int, int, off_t); ^ make[1]: *** [sh.o] Error 1 However, looking at other recent builds (http://toolchain.lug-owl.de/buildbot/?limit=10000&target=sh-linux), it seems that eg. gcc110 happily builds this, so this might be a local installation issue.