aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-04-29 08:17:12 -0700
committerH.J. Lu <hjl.tools@gmail.com>2016-04-29 08:21:51 -0700
commite62b9723fdfcf655ecbd46ea455567593e333f47 (patch)
treefdea551e249c87e854d8338ccb0afc6374dbcecd /bfd/ChangeLog
parent010f98a5859620001aed9f27f213ed681c73a59a (diff)
downloadgdb-e62b9723fdfcf655ecbd46ea455567593e333f47.zip
gdb-e62b9723fdfcf655ecbd46ea455567593e333f47.tar.gz
gdb-e62b9723fdfcf655ecbd46ea455567593e333f47.tar.bz2
Pass GOT_RELOC to UNDEFINED_WEAK_RESOLVED_TO_ZERO
When UNDEFINED_WEAK_RESOLVED_TO_ZERO is checked to convert load via GOT, has_got_reloc is always TRUE. This patch adds GOT_RELOC, which is TRUE in x86 convert_load, to UNDEFINED_WEAK_RESOLVED_TO_ZERO. * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC. (elf_i386_fixup_symbol): Pass has_got_reloc to UNDEFINED_WEAK_RESOLVED_TO_ZERO. (elf_i386_allocate_dynrelocs): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (elf_i386_convert_load): Pass TRUE to UNDEFINED_WEAK_RESOLVED_TO_ZERO. * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC. (elf_x86_64_fixup_symbol): Pass has_got_reloc to UNDEFINED_WEAK_RESOLVED_TO_ZERO. (elf_x86_64_allocate_dynrelocs): Likewise. (elf_x86_64_relocate_section): Likewise. (elf_x86_64_finish_dynamic_symbol): Likewise. (elf_x86_64_convert_load): Pass TRUE to UNDEFINED_WEAK_RESOLVED_TO_ZERO.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index f422b88..ae512f7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,26 @@
2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
+ * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
+ and replace (EH)->has_got_reloc with GOT_RELOC.
+ (elf_i386_fixup_symbol): Pass has_got_reloc to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ (elf_i386_allocate_dynrelocs): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (elf_i386_convert_load): Pass TRUE to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
+ GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
+ (elf_x86_64_fixup_symbol): Pass has_got_reloc to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+ (elf_x86_64_allocate_dynrelocs): Likewise.
+ (elf_x86_64_relocate_section): Likewise.
+ (elf_x86_64_finish_dynamic_symbol): Likewise.
+ (elf_x86_64_convert_load): Pass TRUE to
+ UNDEFINED_WEAK_RESOLVED_TO_ZERO.
+
+2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
+
* elf32-i386.c (check_relocs_failed): New.
(elf_i386_check_relocs): Set check_relocs_failed on error.
(elf_i386_relocate_section): Skip if check_relocs failed.