Blob Blame History Raw
--- binutils.orig/ld/testsuite/ld-plugin/lto.exp	2017-07-24 15:24:18.365091235 +0100
+++ binutils-2.29/ld/testsuite/ld-plugin/lto.exp	2017-07-24 15:25:25.567317336 +0100
@@ -301,9 +301,6 @@ set lto_link_elf_tests [list \
   [list "PR ld/16746 (2)" \
    "-O2 -flto -fuse-linker-plugin tmpdir/pr16746c.o tmpdir/pr16746a.o" "-O2 -flto" \
    {dummy.c} {} "pr16746b.exe"] \
-  [list "PR ld/14918" \
-   "-flto" "-flto" \
-   {pr14918.c} {{"readelf" {-d --wide} "pr14918.d"}} "pr14918.exe" "c"] \
   [list "Build pr21382a.o" \
    "" "-O2 -flto" \
    {pr21382a.c} {} "" "c"] \
@@ -312,6 +309,19 @@ set lto_link_elf_tests [list \
    {pr21382b.c} {} "pr21382.so" "c"] \
 ]
 
+# PR 14918 checks that libgcc is not spuriously included in a shared link of
+# an empty program.  The ARM crt1.o startup code however calls __libc_csu_init
+# in /usr/lib/libc_nonshared.a(elf-init.oS).  This in turn needs
+# __aeabi_unwind_cpp_pr0@@GCC_3.5 which is provided by libgcc_s.so.1, so the
+# test fails.  Hence this code to skip the test.
+if { ! [istarget "arm*-*-*"] } {
+    set lto_link_elf_tests [concat $lto_link_elf_tests [list \
+  [list "PR ld/14918" \
+   "-flto" "-flto" \
+   {pr14918.c} {{"readelf" {-d --wide} "pr14918.d"}} "pr14918.exe" "c"] \
+  ]]
+}
+
 # Check final symbols in executables.
 set lto_link_symbol_tests [list \
   [list "LTO 3 symbol" \