diff options
-rw-r--r-- | ld/ChangeLog | 3 | ||||
-rw-r--r-- | ld/emultempl/pe.em | 17 |
2 files changed, 14 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 56b86db..b048ec4 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,7 +1,8 @@ 2000-10-13 Nick Clifton <nickc@redhat.com> * emultempl/pe.em (_after_open): Delete 'is2' and 'nsyms' - local variables - they are not used. + local variables - they are not used, but leave in the call to + bfd_canonicalize_symtab. (_open_dynamic_archive): Add #ifdef DLL_SUPPORT around use of pe_dll_search_prefix. diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em index 99829a2..bbf0c94 100644 --- a/ld/emultempl/pe.em +++ b/ld/emultempl/pe.em @@ -855,11 +855,18 @@ gld_${EMULATION_NAME}_after_open () for (sec = is->the_bfd->sections; sec; sec = sec->next) { int i; - int symsize = bfd_get_symtab_upper_bound (is->the_bfd); - asymbol **symbols = (asymbol **) xmalloc (symsize); - int relsize = bfd_get_reloc_upper_bound (is->the_bfd, sec); - arelent **relocs = (arelent **) xmalloc ((size_t) relsize); - int nrelocs = bfd_canonicalize_reloc (is->the_bfd, sec, + int symsize; + asymbol **symbols; + int relsize; + arelent **relocs; + int nrelocs; + + symsize = bfd_get_symtab_upper_bound (is->the_bfd); + symbols = (asymbol **) xmalloc (symsize); + bfd_canonicalize_symtab (is->the_bfd, symbols); + relsize = bfd_get_reloc_upper_bound (is->the_bfd, sec); + relocs = (arelent **) xmalloc ((size_t) relsize); + nrelocs = bfd_canonicalize_reloc (is->the_bfd, sec, relocs, symbols); for (i=0; i<nrelocs; i++) { |