diff options
author | Jakub Jelinek <jakub@redhat.com> | 2001-02-09 17:31:11 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2001-02-09 17:31:11 +0000 |
commit | 9557548b272b0a843a1b45c86d5f07940db8ad09 (patch) | |
tree | 4098898fa03f00943edd02f785e0ff58b657fd59 /bfd/elf64-sparc.c | |
parent | 3aeee184a129d150d3ea09aa2454e081cdeb2ad1 (diff) | |
download | gdb-9557548b272b0a843a1b45c86d5f07940db8ad09.tar.gz |
* elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
(sparc64_elf_relocate_section): Likewise.
Diffstat (limited to 'bfd/elf64-sparc.c')
-rw-r--r-- | bfd/elf64-sparc.c | 6 |
1 files changed, 4 insertions, 2 deletions
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; |