Browse Source

* pe-dll.c (process_def_file): auto-export data items also

(pe_process_import_defs): also see if _imp_ form needed
binutils-2_11-branch
DJ Delorie 26 years ago
parent
commit
874c8c99db
  1. 5
      ld/ChangeLog
  2. 12
      ld/pe-dll.c

5
ld/ChangeLog

@ -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

@ -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…
Cancel
Save