Most of the tests in gcc.c-torture/execute/builtins that use LTO torture options "-O2 -flto -fuse-linker-plugin -fno-fat-lto-objects" fail to link on EABI and ELF targets with multiple definitions for either memset or strlen. I filed PR testsuite/55994 and was told that the fix is to run the tests for those targets with "-Wl,--allow-multiple-definition". This patch adds that option to the flags used for the builtins tests for EABI and ELF targets.
That option is probably also needed for RTEMS targets; I've copied Joel so he can look into that. Tested on arm-none-eabi; OK for mainline? Janis
2013-01-15 Janis Johnson <jani...@codesourcery.com> PR testsuite/55994 * gcc.c-torture/execute/builtins/builtins.exp: Add -Wl,--allow-multiple-definition for eabi and elf targets. Index: testsuite/gcc.c-torture/execute/builtins/builtins.exp =================================================================== --- testsuite/gcc.c-torture/execute/builtins/builtins.exp (revision 195211) +++ testsuite/gcc.c-torture/execute/builtins/builtins.exp (working copy) @@ -41,6 +41,10 @@ if [istarget "powerpc-*-darwin*"] { lappend additional_flags "-Wl,-multiply_defined,suppress" } +if { [istarget *-*-eabi*] + || [istarget *-*-elf] } { + lappend additional_flags "-Wl,--allow-multiple-definition" +} foreach src [lsort [find $srcdir/$subdir *.c]] { if {![string match *-lib.c $src] && [runtest_file_p $runtests $src]} {