* elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
authorJakub Jelinek <jakub@redhat.com>
Fri, 9 Feb 2001 17:31:11 +0000 (17:31 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 9 Feb 2001 17:31:11 +0000 (17:31 +0000)
(sparc64_elf_relocate_section): Likewise.

bfd/ChangeLog
bfd/elf64-sparc.c

index 3061ae1..0a61d2e 100644 (file)
@@ -1,3 +1,8 @@
+2001-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
+       (sparc64_elf_relocate_section): Likewise.
+
 2001-02-09  Mark Kettenis  <kettenis@gnu.org>
 
        * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32
index 7316d33..59e9f49 100644 (file)
@@ -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;