https://sourceware.org/bugzilla/show_bug.cgi?id=14339
Domani Hannes <ssbssa at yahoo dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ssbssa at yahoo dot de
--- Comment #1 from Domani Hannes <ssbssa at yahoo dot de> ---
At
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=ld/emultempl/pe.em;h=8f41f27709a11c5b3bc4f028c05f7915ce540a86;hb=HEAD#l1768
is this:
/* The following chunk of code tries to identify jump stubs in
import libraries which are dead code and eliminates them
from the final link. For each exported symbol <sym>, there
is a object file in the import library with a .text section
and several .idata\$* sections. The .text section contains the
symbol definition for <sym> which is a jump stub of the form
jmp *__imp_<sym>. The .idata\$5 contains the symbol definition
for __imp_<sym> which is the address of the slot for <sym> in
the import address table. When a symbol is imported explicitly
using __declspec(dllimport) declaration, the compiler generates
a reference to __imp_<sym> which directly resolves to the
symbol in .idata\$5, in which case the jump stub code is not
needed. The following code tries to identify jump stub sections
in import libraries which are not referred to by anyone and
marks them for exclusion from the final link. */
This code removes the delay-loading stubs as well.
My simple fix/workaround was to check if the last symbol name starts with
"___tailMerge_", and in this case not exclude it from the final link.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils