From: Alan Modra Date: Tue, 19 Nov 2002 06:32:35 +0000 (+0000) Subject: * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cdcf6e38a2691f0e76cf70b0d421ed5f15d30d02;p=binutils-gdb.git * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust rel_hdr.sh_size too. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7269ae0af79..b25ed5bfe0a 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 384348e957e..e437427fcd3 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);