http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55994
Bug #: 55994 Summary: multiple definition or memset or strlen for builtins tests with LTO options Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: ja...@gcc.gnu.org Target: *-*-eabi or *-elf I get the following test failures for multiple targets for GCC 4.7 and mainline: FAIL: gcc.c-torture/execute/builtins/memcpy-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/memmove-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/memops-asm.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/mempcpy-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/memset-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/memset.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/pr23484-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/snprintf-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/sprintf-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/stpcpy-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/stpncpy-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strcat-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strcpy-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strlen-2.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strlen-3.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strlen.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strncat-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/strncpy-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/vsnprintf-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects FAIL: gcc.c-torture/execute/builtins/vsprintf-chk.c compilation, -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects The reported failure is /tmp/cc3DFMVG.ltrans1.ltrans.o: In function `memset': cc3DFMVG.ltrans1.o:(.text+0x558): multiple definition of `memset' /scratch/janisjo/build6/fsf-4.7-arm-eabi/install/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/libc.a(lib_a-memset.o):/scratch/janisjo/build6/fsf-4.7-arm-eabi/src/newlib-mainline/newlib/libc/string/memset.c:57: first defined here collect2: error: ld returned 1 exit status or /tmp/cc2KdAgP.ltrans0.ltrans.o: In function `strlen': cc2KdAgP.ltrans0.o:(.text+0x0): multiple definition of `strlen' /scratch/janisjo/build6/fsf-4.7-arm-eabi/install/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/libc.a(lib_a-strlen.o):/scratch/janisjo/build6/fsf-4.7-arm-eabi/src/newlib-mainline/newlib/libc/machine/arm/strlen.c:68: first defined here collect2: error: ld returned 1 exit status I've seen the failures for arm-none-eabi and powerpc-none-eabi with FSF sources (the only targets I've tried) and also for CodeSourcery sources for those plus mips-sde-elf, m68k-elf, and i686-mingw32. They all use newlib. The same tests pass for GNU/Linux targets. These test options were added for GCC 4.7. This problem was mentioned in PR54139.