diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-i386.c | 9 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 9 |
3 files changed, 10 insertions, 14 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6125ab5..c5e0390 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2012-10-25 H.J. Lu <hongjiu.lu@intel.com> + + * elf32-i386.c (elf_i386_size_dynamic_sections): Replace + _GLOBAL_OFFSET_TABLE_ lookup with htab->elf.hgot. + * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Likewise. + 2012-10-24 H.J. Lu <hongjiu.lu@intel.com> * compress.c (bfd_is_section_compressed): Don't decompress the diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index eb90a91..1b04a6e 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2863,15 +2863,10 @@ elf_i386_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info) if (htab->elf.sgotplt) { - struct elf_link_hash_entry *got; - got = elf_link_hash_lookup (elf_hash_table (info), - "_GLOBAL_OFFSET_TABLE_", - FALSE, FALSE, FALSE); - /* Don't allocate .got.plt section if there are no GOT nor PLT entries and there is no reference to _GLOBAL_OFFSET_TABLE_. */ - if ((got == NULL - || !got->ref_regular_nonweak) + if ((htab->elf.hgot == NULL + || !htab->elf.hgot->ref_regular_nonweak) && (htab->elf.sgotplt->size == get_elf_backend_data (output_bfd)->got_header_size) && (htab->elf.splt == NULL diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index a440647..ca9a45c 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -2917,15 +2917,10 @@ elf_x86_64_size_dynamic_sections (bfd *output_bfd, if (htab->elf.sgotplt) { - struct elf_link_hash_entry *got; - got = elf_link_hash_lookup (elf_hash_table (info), - "_GLOBAL_OFFSET_TABLE_", - FALSE, FALSE, FALSE); - /* Don't allocate .got.plt section if there are no GOT nor PLT entries and there is no refeence to _GLOBAL_OFFSET_TABLE_. */ - if ((got == NULL - || !got->ref_regular_nonweak) + if ((htab->elf.hgot == NULL + || !htab->elf.hgot->ref_regular_nonweak) && (htab->elf.sgotplt->size == get_elf_backend_data (output_bfd)->got_header_size) && (htab->elf.splt == NULL |