From 9d4b2dba0e5f61cbec871f70e0a20c4b8a5d4ba9 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 25 Oct 2012 13:36:08 +0000 Subject: [PATCH] Replace _GLOBAL_OFFSET_TABLE_ lookup with htab->elf.hgot * 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. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-i386.c | 9 ++------- 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 + + * 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 * 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 -- 2.7.4