summaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-09-28 20:53:40 +0000
committerDJ Delorie <dj@redhat.com>2000-09-28 20:53:40 +0000
commit45b1f63c8cdded5c3b874abc87b02ee079ac4e93 (patch)
tree42c35d1c47d8931fdbf544363eac56a3254f98cf /ld/emultempl
parent170cdc4f01682c7873834d0b6fe88a2170bf14b2 (diff)
downloadbinutils-gdb-45b1f63c8cdded5c3b874abc87b02ee079ac4e93.tar.gz
* pe-dll.c (process_def_file): Uninitialized data wasn't
exported with --export-all-symbols switch. * pe-dll.c (fill_edata): rearrange the data so that ordinals and noname work properly.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/pe.em21
1 files changed, 21 insertions, 0 deletions
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 0ffeffc061b..b556fac90d8 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -876,6 +876,27 @@ gld_${EMULATION_NAME}_after_open ()
}
}
}
+
+ {
+ LANG_FOR_EACH_INPUT_STATEMENT (is)
+ {
+ asection *sec;
+ char *new_name, seq;
+
+
+ if (is->the_bfd->my_archive)
+ for (sec = is->the_bfd->sections; sec; sec = sec->next)
+ if (strcmp (sec->name, ".idata\$7") == 0
+ && sec->reloc_count == 0)
+ {
+ char *name = xmalloc (sec->_raw_size + 1);
+ bfd_get_section_contents (is->the_bfd, sec, name, 0, sec->_raw_size);
+ name[sec->_raw_size] = 0;
+ printf ("dj: implib \"%s\" for dll \"%s\" %d\n",
+ is->the_bfd->my_archive->filename, name, sec->_raw_size);
+ }
+ }
+ }
}
static void