* elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
authorJakub Jelinek <jakub@redhat.com>
Fri, 13 Oct 2006 21:03:40 +0000 (21:03 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 13 Oct 2006 21:03:40 +0000 (21:03 +0000)
.plt sh_entsize to 0 if plt header size isn't multiple of
plt entry size or for 32-bit which adds a nop insn at the
end of the .plt section.

bfd/ChangeLog
bfd/elfxx-sparc.c

index db0ee249b073cea0cc33f78db94cd2e40e56073b..5310dcdab0b216ce3908f5eeeaa6b80980504cd1 100644 (file)
@@ -1,3 +1,10 @@
+2006-10-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): Set
+       .plt sh_entsize to 0 if plt header size isn't multiple of
+       plt entry size or for 32-bit which adds a nop insn at the
+       end of the .plt section.
+
 2006-10-12  Bob Wilson  <bob.wilson@acm.org>
 
        * elf32-xtensa.c (elf_xtensa_action_discarded): New.
index 5f66fa6d9b834707b7453eb09afbc92cca79805e..ccbd27276077b8b54506e9f13c1dcf3d7cbcfc86 100644 (file)
@@ -4066,7 +4066,8 @@ _bfd_sparc_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *i
        }
 
       elf_section_data (splt->output_section)->this_hdr.sh_entsize
-       = htab->plt_entry_size;
+       = (htab->is_vxworks || !ABI_64_P (output_bfd))
+         ? 0 : htab->plt_entry_size;
     }
 
   /* Set the first entry in the global offset table to the address of