diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elflink.h | 28 |
2 files changed, 19 insertions, 14 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 83fb6c5..9522755 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +1999-12-29 Richard Henderson <rth@cygnus.com> + + * elflink.h (bfd_elf,size_dynamic_sections): Don't export all + if no dynamic sections created. + 1999-12-27 Nick Clifton <nickc@cygnus.com> * peicode.h (pe_bfd_object_p): Only define for PE format diff --git a/bfd/elflink.h b/bfd/elflink.h index 01cb6d4..1cf6be9 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -2803,20 +2803,6 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath, if (dynobj == NULL) return true; - /* If we are supposed to export all symbols into the dynamic symbol - table (this is not the normal case), then do so. */ - if (export_dynamic) - { - struct elf_info_failed eif; - - eif.failed = false; - eif.info = info; - elf_link_hash_traverse (elf_hash_table (info), elf_export_symbol, - (PTR) &eif); - if (eif.failed) - return false; - } - if (elf_hash_table (info)->dynamic_sections_created) { struct elf_info_failed eif; @@ -2879,6 +2865,20 @@ NAME(bfd_elf,size_dynamic_sections) (output_bfd, soname, rpath, } } + /* If we are supposed to export all symbols into the dynamic symbol + table (this is not the normal case), then do so. */ + if (export_dynamic) + { + struct elf_info_failed eif; + + eif.failed = false; + eif.info = info; + elf_link_hash_traverse (elf_hash_table (info), elf_export_symbol, + (PTR) &eif); + if (eif.failed) + return false; + } + /* Attach all the symbols to their version information. */ asvinfo.output_bfd = output_bfd; asvinfo.info = info; |