* pe-dll.c (process_def_file): auto-export data items also
(pe_process_import_defs): also see if _imp_ form needed
This commit is contained in:
parent
67aa9423b0
commit
874c8c99db
@ -1,3 +1,8 @@
|
||||
2000-07-17 DJ Delorie <dj@cygnus.com>
|
||||
|
||||
* pe-dll.c (process_def_file): auto-export data items also
|
||||
(pe_process_import_defs): also see if _imp_ form needed
|
||||
|
||||
2000-07-12 Charles Wilson <cwilson@ece.gatech.edu>
|
||||
|
||||
* pe-dll.c (make_one): fix a typo in the __imp_ name decoration
|
||||
|
12
ld/pe-dll.c
12
ld/pe-dll.c
@ -301,8 +301,7 @@ process_def_file (abfd, info)
|
||||
|
||||
for (j = 0; j < nsyms; j++)
|
||||
{
|
||||
if ((symbols[j]->flags & (BSF_FUNCTION | BSF_GLOBAL))
|
||||
== (BSF_FUNCTION | BSF_GLOBAL))
|
||||
if (symbols[j]->flags & BSF_GLOBAL)
|
||||
{
|
||||
const char *sn = symbols[j]->name;
|
||||
if (*sn == '_')
|
||||
@ -1661,10 +1660,17 @@ pe_process_import_defs (output_bfd, link_info)
|
||||
struct bfd_link_hash_entry *blhe;
|
||||
|
||||
/* see if we need this import */
|
||||
char *name = (char *) xmalloc (strlen (pe_def_file->imports[i].internal_name) + 2);
|
||||
char *name = (char *) xmalloc (strlen (pe_def_file->imports[i].internal_name) + 2 + 6);
|
||||
sprintf (name, "%s%s", U(""), pe_def_file->imports[i].internal_name);
|
||||
blhe = bfd_link_hash_lookup (link_info->hash, name,
|
||||
false, false, false);
|
||||
if (!blhe || (blhe && blhe->type != bfd_link_hash_undefined))
|
||||
{
|
||||
sprintf (name, "%s%s", U("_imp__"),
|
||||
pe_def_file->imports[i].internal_name);
|
||||
blhe = bfd_link_hash_lookup (link_info->hash, name,
|
||||
false, false, false);
|
||||
}
|
||||
free (name);
|
||||
if (blhe && blhe->type == bfd_link_hash_undefined)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user