Run ar with --plugin for LTO 11 test
Objects built with -fno-fat-lto-objects (the default for gcc-4.9) have no normal symbols, except things like __gnu_lto_slim. These useless symbols are the ones put into the archive index, and of course nothing references them so no objects are extracted by the linker. Running ar with --plugin changes ar behaviour to put the lto symbols into the archive index. PR 17112 * ld-plugin/lto.exp: When building liblti-11.a, pass --plugin path_to_gcc/liblto_plugin.so to ar.
This commit is contained in:
parent
e29c73ebde
commit
37a6ac445d
@ -1,3 +1,9 @@
|
|||||||
|
2014-07-08 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 17112
|
||||||
|
* ld-plugin/lto.exp: When building liblti-11.a, pass
|
||||||
|
--plugin path_to_gcc/liblto_plugin.so to ar.
|
||||||
|
|
||||||
2014-07-07 Alan Modra <amodra@gmail.com>
|
2014-07-07 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* lib/ld-lib.exp (check_lto_shared_available): Reinstate compiler
|
* lib/ld-lib.exp (check_lto_shared_available): Reinstate compiler
|
||||||
|
@ -324,7 +324,20 @@ if { [is_elf_format] && [check_lto_shared_available] } {
|
|||||||
|
|
||||||
set testname "Build liblto-11.a"
|
set testname "Build liblto-11.a"
|
||||||
remote_file host delete "tmpdir/liblto-11.a"
|
remote_file host delete "tmpdir/liblto-11.a"
|
||||||
set catch_output [run_host_cmd "$ar" "rc tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
|
set plugin_names {
|
||||||
|
liblto_plugin.so
|
||||||
|
liblto_plugin-0.dll
|
||||||
|
cyglto_plugin-0.dll
|
||||||
|
}
|
||||||
|
set plug_opt ""
|
||||||
|
foreach plug $plugin_names {
|
||||||
|
set plug_so [run_host_cmd $CC "--print-prog-name $plug"]
|
||||||
|
if { $plug_so ne $plug } then {
|
||||||
|
set plug_opt "--plugin $plug_so"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"]
|
||||||
if {![string match "" $catch_output]} {
|
if {![string match "" $catch_output]} {
|
||||||
unresolved $testname
|
unresolved $testname
|
||||||
restore_notify
|
restore_notify
|
||||||
|
Loading…
Reference in New Issue
Block a user