diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-05 14:36:58 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-06 00:24:23 -0700 |
commit | 2eba97c207399d8b541092a7b0a4428dc02f5cf1 (patch) | |
tree | 2558766503cc6a09c263dd788209a7a32c8c6773 /bfd/elf32-i386.c | |
parent | daf1c414a48baf090f005ce4b319b6881d5d6872 (diff) | |
download | gdb-2eba97c207399d8b541092a7b0a4428dc02f5cf1.zip gdb-2eba97c207399d8b541092a7b0a4428dc02f5cf1.tar.gz gdb-2eba97c207399d8b541092a7b0a4428dc02f5cf1.tar.bz2 |
Add RESOLVED_LOCALLY_P
Diffstat (limited to 'bfd/elf32-i386.c')
-rw-r--r-- | bfd/elf32-i386.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index 4a3c690..25d349c 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -2512,26 +2512,13 @@ r_386_got32: relative_reloc = FALSE; if (h != NULL) { - bfd_boolean dyn; - off = h->got.offset; - dyn = htab->elf.dynamic_sections_created; - if (! WILL_CALL_FINISH_DYNAMIC_SYMBOL (dyn, - bfd_link_pic (info), - h) - || (bfd_link_pic (info) - && SYMBOL_REFERENCES_LOCAL_P (info, h)) - || (ELF_ST_VISIBILITY (h->other) - && h->root.type == bfd_link_hash_undefweak)) + if (RESOLVED_LOCALLY_P (info, h, htab)) { - /* This is actually a static link, or it is a - -Bsymbolic link and the symbol is defined - locally, or the symbol was forced to be local - because of a version file. We must initialize - this entry in the global offset table. Since the - offset must always be a multiple of 4, we use the - least significant bit to record whether we have - initialized it already. + /* We must initialize this entry in the global offset + table. Since the offset must always be a multiple + of 4, we use the least significant bit to record + whether we have initialized it already. When doing a dynamic link, we create a .rel.got relocation entry to initialize the value. This |