From c5847ba7267b6eedd4b750f5eeece3ec037a27fd Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 10 Dec 2015 12:35:35 -0800 Subject: ld -r doesn't need plugin for slim lto object Plugin isn't required on slim lto object for relocatable link. bfd/ PR ld/19317 * linker.c (_bfd_generic_link_add_one_symbol): Don't complain plugin needed to handle slim lto object for relocatable link. ld/testsuite/ PR ld/19317 * ld-plugin/lto.exp (lto_no_fat): New. (lto_link_tests): Add a test for PR ld/19317. (lto_run_tests): Likewise. (run_ld_link_tests): Likewise. --- ld/testsuite/ld-plugin/lto.exp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'ld/testsuite/ld-plugin/lto.exp') diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp index 81e72b4..fb951df 100644 --- a/ld/testsuite/ld-plugin/lto.exp +++ b/ld/testsuite/ld-plugin/lto.exp @@ -55,8 +55,10 @@ foreach plug $plugin_names { } } set lto_fat "" +set lto_no_fat "" if { [check_lto_fat_available] } { set lto_fat "-ffat-lto-objects" + set lto_no_fat "-fno-fat-lto-objects" } # Simple LTO tests and generate input files for complex LTO tests. @@ -178,6 +180,9 @@ set lto_link_tests [list \ [list "PR ld/pr16846(2)" \ "-flto -fuse-linker-plugin tmpdir/pr16846a.o tmpdir/pr16846c.o tmpdir/pr16846b.o" "" \ {dummy.c} {} "pr16846b.exe"] \ + [list "PR ld/19317 (1)" \ + "$plug_opt" "-flto $lto_no_fat" \ + {pr19317.c} {} "libpr19317.a"] \ ] if { [at_least_gcc_version 4 7] } { @@ -324,6 +329,9 @@ set lto_run_tests [list \ [list "PR ld/15323 (4)" \ "-O2 -flto tmpdir/pr15323a-r.o" "" \ {dummy.c} "pr15323a.exe" "pr15323.out" "-flto -O2" "c"] \ + [list "PR ld/19317 (3)" \ + "-O2 -flto tmpdir/pr19317-r.o" "" \ + {dummy.c} "pr19317.exe" "pr19317.out" "-flto -O2" "c"] \ ] if { [at_least_gcc_version 4 7] } { @@ -424,6 +432,12 @@ remote_exec host "mv" "tmpdir/dump tmpdir/lto-5.o" run_cc_link_tests $lto_link_symbol_tests +run_ld_link_tests [list \ + [list "PR ld/19317 (2)" \ + "-r tmpdir/pr19317.o" "" "" \ + {dummy.s} {} "pr19317-r.o"] \ +] + # The following tests require running the executable generated by ld. if ![isnative] { return -- cgit v1.1