* elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
authorAlan Modra <amodra@gmail.com>
Wed, 26 Sep 2007 03:07:45 +0000 (03:07 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 26 Sep 2007 03:07:45 +0000 (03:07 +0000)
bfd/ChangeLog
bfd/elf64-ppc.c

index 61ebc1874f4936bd8bb46769941119da78e03d6c..690c46d8ba27f4c8d736c4f90cbc68fcfd06aa91 100644 (file)
@@ -1,3 +1,7 @@
+2007-09-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
+
 2007-09-25  Alan Modra  <amodra@bigpond.net.au>
 
        * elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
index b5e45560fb02f004c67030dbfd414361ae735a27..71c77b5bb270243eaef8d9454a5d50f2bab2b961 100644 (file)
@@ -8317,8 +8317,9 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
              if (relocs == NULL)
                return FALSE;
              elfsec_data->relocs = relocs;
-             elfsec_data->rel_hdr.sh_size = relsize;
-             elfsec_data->rel_hdr.sh_entsize = 24;
+             elfsec_data->rel_hdr.sh_size = (stub_entry->stub_sec->reloc_count
+                                             * sizeof (Elf64_External_Rela));
+             elfsec_data->rel_hdr.sh_entsize = sizeof (Elf64_External_Rela);
              stub_entry->stub_sec->reloc_count = 0;
            }
          r = relocs + stub_entry->stub_sec->reloc_count;
@@ -8415,8 +8416,9 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
              if (relocs == NULL)
                return FALSE;
              elfsec_data->relocs = relocs;
-             elfsec_data->rel_hdr.sh_size = relsize;
-             elfsec_data->rel_hdr.sh_entsize = 24;
+             elfsec_data->rel_hdr.sh_size = (stub_entry->stub_sec->reloc_count
+                                             * sizeof (Elf64_External_Rela));
+             elfsec_data->rel_hdr.sh_entsize = sizeof (Elf64_External_Rela);
              htab->brlt->reloc_count = 0;
            }
          r = relocs + htab->brlt->reloc_count;