From dd6deeb64932fd59af2a757fc53baf4af03d3a2a Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 19 Nov 2002 06:32:35 +0000 Subject: [PATCH] * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust rel_hdr.sh_size too. --- bfd/ChangeLog | 5 +++++ bfd/elf64-ppc.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7269ae0af..b25ed5bfe 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-11-19 Alan Modra + + * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust + rel_hdr.sh_size too. + 2002-11-18 Klee Dienes * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo. diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 384348e95..e437427fc 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); -- 2.11.4.GIT