PR ld/12339
authorAlan Modra <amodra@gmail.com>
Fri, 14 Jan 2011 02:17:58 +0000 (02:17 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 14 Jan 2011 02:17:58 +0000 (02:17 +0000)
* elf32-arm.c (allocate_dynrelocs): Don't set up eh before
following bfd_link_hash_warning symbol link.

bfd/ChangeLog
bfd/elf32-arm.c

index 42b07c6d227b4734a4f96a0b91c80d24af06108c..9a7433203bfe4844f9cc235d70ced7c87f1d14b7 100644 (file)
@@ -1,3 +1,9 @@
+2011-01-14  J. Park  <grassman@gmail.com>
+
+       PR ld/12339
+       * elf32-arm.c (allocate_dynrelocs): Don't set up eh before
+       following bfd_link_hash_warning symbol link.
+
 2011-01-10  Nathan Sidwell  <nathan@codesourcery.com>
            Glauber de Oliveira Costa  <glommer@gmail.com>
 
index 716b17715aa8935270b6084d861a4549979e4a12..6fdd500ceb6d29d91a2375baa4ece90f2fdfa1d4 100644 (file)
@@ -1,6 +1,6 @@
 /* 32-bit ELF support for ARM
    Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-   2008, 2009, 2010  Free Software Foundation, Inc.
+   2008, 2009, 2010, 2011  Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -12007,8 +12007,6 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
   struct elf_dyn_relocs *p;
   bfd_signed_vma thumb_refs;
 
-  eh = (struct elf32_arm_link_hash_entry *) h;
-
   if (h->root.type == bfd_link_hash_indirect)
     return TRUE;
 
@@ -12018,6 +12016,8 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
        symbol in a hash traversal.  So look at it now.  */
     h = (struct elf_link_hash_entry *) h->root.u.i.link;
 
+  eh = (struct elf32_arm_link_hash_entry *) h;
+
   info = (struct bfd_link_info *) inf;
   htab = elf32_arm_hash_table (info);
   if (htab == NULL)