ld: Add -fno-lto to linker tests
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 31 Jul 2020 14:40:27 +0000 (07:40 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 31 Jul 2020 14:57:04 +0000 (07:57 -0700)
commite6a6c7676a7df49cfbbffda26eadd2032dbc2bbe
tree7399b145a808662b9c4b49959ba9c14a381f0c0c
parenta896df97b952d4f3feed8068eaa70147d12e0e28
ld: Add -fno-lto to linker tests

LTO can be used to build binutils with

$ CC="gcc -flto -ffat-lto-objects -Wl,--as-needed" CXX="g++ -flto -ffat-lto-objects -Wl,--as-needed" .../configure

But not all linker tests are compatible with LTO.  Pass -fno-lto to CC
to disable LTO on linker tests by default.  -flto is passed explicitly
to CC in linker LTO tests.

* testsuite/ld-elf/indirect.exp: Append -fno-lto to CC.
* testsuite/ld-elfvers/vers.exp: Likewise.
* testsuite/ld-elfweak/elfweak.exp: Likewise.
* testsuite/ld-ifunc/ifunc.exp: Likewise.
* testsuite/ld-plugin/lto.exp (no_lto): New.
Add $no_lto to build pr15146c.so.
* testsuite/lib/ld-lib.exp (at_least_gcc_version): Filter out
-Wl,xxx options.
(check_gcc_plugin_enabled): Likewise.
(run_ld_link_exec_tests): Prepend -fno-lto to $cflags.
(run_cc_link_tests): Likewise.
ld/ChangeLog
ld/testsuite/ld-elf/indirect.exp
ld/testsuite/ld-elfvers/vers.exp
ld/testsuite/ld-elfweak/elfweak.exp
ld/testsuite/ld-ifunc/ifunc.exp
ld/testsuite/ld-plugin/lto.exp
ld/testsuite/lib/ld-lib.exp