summaryrefslogtreecommitdiff
path: root/bfd/elf64-sparc.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-02-09 17:31:11 +0000
committerJakub Jelinek <jakub@redhat.com>2001-02-09 17:31:11 +0000
commit9557548b272b0a843a1b45c86d5f07940db8ad09 (patch)
tree4098898fa03f00943edd02f785e0ff58b657fd59 /bfd/elf64-sparc.c
parent3aeee184a129d150d3ea09aa2454e081cdeb2ad1 (diff)
downloadgdb-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.c6
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;