aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2017-05-10 18:44:19 +0200
committerJose E. Marchesi <jose.marchesi@oracle.com>2017-05-10 18:45:30 +0200
commitdb84b98a160d20f30dbdae3e3405cfb0fa680fbd (patch)
tree5c6f66aa19007d253714ce35021c85f2bc36f34d /bfd/ChangeLog
parent2318686590bd252a47f494554dfc11bc18a3e58b (diff)
downloadgdb-db84b98a160d20f30dbdae3e3405cfb0fa680fbd.zip
gdb-db84b98a160d20f30dbdae3e3405cfb0fa680fbd.tar.gz
gdb-db84b98a160d20f30dbdae3e3405cfb0fa680fbd.tar.bz2
bfd: fix the deletion of relocs in sparc64
This patch fixes the deletion of relocations in BFD sections in sparc64 targets. A specialized `_bfd_set_reloc' function is provided that updates the internal canon_reloc_count(sec) counter instead of sec->reloc_count. Additionally, the `write_relocs' callback in elf64-sparc is adapted to use the canon_reloc_count to traverse `sec->orelocation'. Tested in sparc64-linux-gnu targets. Fixes an existing failure in the merge-notes objcopy test. No regressions. bfd/ChangeLog: 2017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com> * elf64-sparc.c (elf64_sparc_set_reloc): New function. (bfd_elf64_set_reloc): Define. (elf64_sparc_write_relocs): Use `canon_reloc_count'.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e9095b1..713614d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
2017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
+ * elf64-sparc.c (elf64_sparc_set_reloc): New function.
+ (bfd_elf64_set_reloc): Define.
+ (elf64_sparc_write_relocs): Use `canon_reloc_count'.
+
+2017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
+
* targets.c (BFD_JUMP_TABLE_RELOCS): Add NAME##_set_reloc.
(struct bfd_target): New field _bfd_set_reloc.
* bfd.c (bfd_set_reloc): Call backend _set_bfd.