Fix PR ld/24574
This restores a line that has been dropped when the auto-import feature of the PE-COFF linker was overhauled about one year. It is necessary for GDB to properly resolve extern symbol in DLLs. ld/ChangeLog * pe-dll.c (pe_find_data_imports): Replace again the original name of the undefined symbol with the __imp_ prefixed one after it is resolved.
This commit is contained in:
parent
30331a6ca0
commit
de07a74580
@ -1,3 +1,9 @@
|
||||
2019-09-05 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR ld/24574
|
||||
* pe-dll.c (pe_find_data_imports): Replace again the original name of
|
||||
the undefined symbol with the __imp_ prefixed one after it is resolved.
|
||||
|
||||
2019-09-05 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* testsuite/ld-powerpc/pcrelopt.s,
|
||||
|
@ -1445,6 +1445,11 @@ pe_find_data_imports (const char *symhead,
|
||||
undef->u.def.value = sym->u.def.value;
|
||||
undef->u.def.section = sym->u.def.section;
|
||||
|
||||
/* We replace the original name with the __imp_ prefixed one, this
|
||||
1) may trash memory 2) leads to duplicate symbols. But this is
|
||||
better than having a misleading name that can confuse GDB. */
|
||||
undef->root.string = sym->root.string;
|
||||
|
||||
if (link_info.pei386_auto_import == -1)
|
||||
{
|
||||
static bfd_boolean warned = FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user