* elf32-cris.c (elf_cris_got_elt_size) <symtab_hdr>: Initialize
authorHans-Peter Nilsson <hp@axis.com>
Mon, 15 Dec 2008 02:10:27 +0000 (02:10 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Mon, 15 Dec 2008 02:10:27 +0000 (02:10 +0000)
using ibfd, not abfd.

bfd/ChangeLog
bfd/elf32-cris.c

index 9bb846df58314a644828bb02ce25fb87f1a8a786..c9ca96201194e15911e6c8d997e9f05a2f41cd10 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (elf_cris_got_elt_size) <symtab_hdr>: Initialize
+       using ibfd, not abfd.
+
 2008-12-11  Alan Modra  <amodra@bigpond.net.au>
 
        PR 7041
index 72916f2aa70eed7e8991ee25e23c59f07937a925..87c8026427edf832097ece29afb34628d6ab1e67 100644 (file)
@@ -4094,13 +4094,13 @@ elf_cris_got_elt_size (bfd *abfd ATTRIBUTE_UNUSED,
                       unsigned long symndx)
 {
   struct elf_link_hash_entry *h = (struct elf_link_hash_entry *) hr;
-  Elf_Internal_Shdr *symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
   bfd_vma eltsiz = 0;
 
   /* We may have one regular GOT entry or up to two TLS GOT
      entries.  */
   if (h == NULL)
     {
+      Elf_Internal_Shdr *symtab_hdr = &elf_tdata (ibfd)->symtab_hdr;
       bfd_signed_vma *local_got_refcounts = elf_local_got_refcounts (ibfd);
 
       BFD_ASSERT (local_got_refcounts != NULL);
@@ -4137,6 +4137,9 @@ elf_cris_got_elt_size (bfd *abfd ATTRIBUTE_UNUSED,
        eltsiz += 4;
     }
 
+  /* We're only called when h->got.refcount is non-zero, so we must
+     have a non-zero size.  */
+  BFD_ASSERT (eltsiz != 0);
   return eltsiz;
 }
 \f