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.

Reply via email to