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: [email protected]
ReportedBy: [email protected]
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.