[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/14339] MinGW ld omits stubs when linking delay import library an
From: |
ssbssa at yahoo dot de |
Subject: |
[Bug ld/14339] MinGW ld omits stubs when linking delay import library and using __declspec(dllimport) |
Date: |
Tue, 07 Feb 2017 10:54:53 +0000 |
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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug ld/14339] MinGW ld omits stubs when linking delay import library and using __declspec(dllimport),
ssbssa at yahoo dot de <=