]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
plugin: Don't invoke LTO-wrapper
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 25 Mar 2020 13:58:19 +0000 (06:58 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 25 Mar 2020 14:00:26 +0000 (07:00 -0700)
commit23820109ced73d231b69ea6fa9a85b743d7843c8
treeed77b8ad02f414472b7154503a29cd1f7f5e1fe1
parent64f5c0afcc4683f0003b60d6a5a299beb08f38de
plugin: Don't invoke LTO-wrapper

Don't invoke LTO-wrapper since the LTO wrapper approach is not only
slow but also unreliable.  For GCC 10 or newer, LDPT_ADD_SYMBOLS_V2
will be used.

bfd/

* configure.ac (HAVE_EXECUTABLE_SUFFIX): Removed.
(EXECUTABLE_SUFFIX): Likewise.
* config.in: Regenerated.
* configure: Likewise.
* plugin.c (bfd_plugin_close_and_cleanup): Defined as
_bfd_generic_close_and_cleanup.
(plugin_list_entry): Remove resolution_file, resolution_option,
real_bfd, real_nsyms, real_syms, lto_nsyms, lto_syms, gcc,
lto_wrapper, gcc_env and initialized,
(need_lto_wrapper_p): Removed.
(get_lto_wrapper): Likewise.
(setup_lto_wrapper_env): Likewise.
(register_all_symbols_read): Likewise.
(egister_cleanup): Likewise.
(get_symbols): Likewise.
(add_input_file): Likewise.
(bfd_plugin_set_program_name): Remove need_lto_wrapper.
(add_symbols): Updated.
(try_claim): Likewise.
(try_load_plugin): Likewise.
(bfd_plugin_canonicalize_symtab): Likewise.
* plugin.h (bfd_plugin_set_program_name): Remove int argument.
(plugin_data_struct): Remove real_bfd, real_nsyms and
real_syms.

binutils/

* ar.c (main): Update bfd_plugin_set_program_name call.
* nm.c (main): Likewise.

ld/

* testsuite/ld-plugin/lto.exp (lto_link_tests): Run PR ld/25355
test only for GCC 10 or newer.

(cherry picked from commit 3d98c46092341c1373d960d0a66ca502d5b7ee7f)
bfd/ChangeLog
bfd/config.in
bfd/configure
bfd/configure.ac
bfd/plugin.c
bfd/plugin.h
binutils/ChangeLog
binutils/ar.c
binutils/nm.c
ld/ChangeLog
ld/testsuite/ld-plugin/lto.exp