summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-11-19 06:32:35 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-11-19 06:32:35 +0000
commitdd6deeb64932fd59af2a757fc53baf4af03d3a2a (patch)
tree187004ffce02268ac7d9b1b668502ac896680a4d /bfd
parent41b38c5009c1f574412383caee371fa7733e648b (diff)
downloadbinutils-redhat-dd6deeb64932fd59af2a757fc53baf4af03d3a2a.tar.gz
* elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
rel_hdr.sh_size too.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-ppc.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 7269ae0af7..b25ed5bfe0 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-11-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
+ rel_hdr.sh_size too.
+
2002-11-18 Klee Dienes <kdienes@apple.com>
* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 384348e957..e437427fcd 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -3866,6 +3866,11 @@ ppc64_elf_edit_opd (obfd, info)
sec->_cooked_size = wptr - sec->contents;
sec->reloc_count = write_rel - relstart;
+ /* Fudge the size too, as this is used later in
+ elf_bfd_final_link if we are emitting relocs. */
+ elf_section_data (sec)->rel_hdr.sh_size
+ = sec->reloc_count * elf_section_data (sec)->rel_hdr.sh_entsize;
+ BFD_ASSERT (elf_section_data (sec)->rel_hdr2 == NULL);
}
else if (elf_section_data (sec)->relocs != relstart)
free (relstart);