From eadfa8abf1138d72fc1de3c37be9161ad3fdfbff Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 9 Feb 2001 17:31:11 +0000 Subject: [PATCH] * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count. (sparc64_elf_relocate_section): Likewise. --- bfd/ChangeLog | 5 +++++ bfd/elf64-sparc.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3061ae18227..0a61d2e0414 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-02-09 Jakub Jelinek + + * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count. + (sparc64_elf_relocate_section): Likewise. + 2001-02-09 Mark Kettenis * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32 diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 7316d33ad9e..59e9f499657 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -994,7 +994,8 @@ sparc64_elf_check_relocs (abfd, info, sec, relocs) srelgot = NULL; sreloc = NULL; - rel_end = relocs + sec->reloc_count; + rel_end = relocs + elf_section_data (sec)->rel_hdr.sh_size + / elf_section_data (sec)->rel_hdr.sh_entsize; for (rel = relocs; rel < rel_end; rel++) { unsigned long r_symndx; @@ -1900,7 +1901,8 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section, sgot = splt = sreloc = NULL; rel = relocs; - relend = relocs + input_section->reloc_count; + relend = relocs + elf_section_data (input_section)->rel_hdr.sh_size + / elf_section_data (input_section)->rel_hdr.sh_entsize; for (; rel < relend; rel++) { int r_type; -- 2.30.2