[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/30343] LTO ignores linker reference to _pei386_runtime_relocator
From: |
cvs-commit at gcc dot gnu.org |
Subject: |
[Bug ld/30343] LTO ignores linker reference to _pei386_runtime_relocator |
Date: |
Mon, 08 May 2023 04:35:41 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=30343
--- Comment #6 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The master branch has been updated by Alan Modra <amodra@sourceware.org>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=defb881754df013e337eb981bc54b5e83fd01fa4
commit defb881754df013e337eb981bc54b5e83fd01fa4
Author: Alan Modra <amodra@gmail.com>
Date: Sun May 7 17:46:57 2023 +0930
PR30343, LTO ignores linker reference to _pei386_runtime_relocator
Make a reference to _pei386_runtime_relocator before LTO recompilation.
This is done regardless of whether such a reference will be used,
because it can't be known whether it is needed before LTO.
I also found it necessary to enable long section names for the bfd
created in make_runtime_pseudo_reloc, because otherwise when writing
it out to the bfd-in-memory we get the section written as .rdata_r
which when read back in leads to a linker warning ".rdata_r: section
below image base" and likely runtime misbehaviour.
PR 30343
* emultempl/pe.em (make_runtime_ref): New function.
(gld${EMULATION_NAME}_before_plugin_all_symbols_read): New
function.
(LDEMUL_BEFORE_PLUGIN_ALL_SYMBOLS_READ): Define.
* emultempl/pep.em: Similarly to pe.em.
* pe-dll.c (make_runtime_pseudo_reloc): Set long section names.
--
You are receiving this mail because:
You are on the CC list for the bug.