aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2011-01-14 02:17:58 +0000
committerAlan Modra <amodra@gmail.com>2011-01-14 02:17:58 +0000
commite6a6bb22ab75ecdba2c4a44a33b730829acace11 (patch)
treef2506a272eb275b0df5076e22da0396f77c52f2b
parent3ed41d5946259a3ca3f774f345d342e200196a26 (diff)
downloadfsf-binutils-gdb-e6a6bb22ab75ecdba2c4a44a33b730829acace11.zip
fsf-binutils-gdb-e6a6bb22ab75ecdba2c4a44a33b730829acace11.tar.gz
fsf-binutils-gdb-e6a6bb22ab75ecdba2c4a44a33b730829acace11.tar.bz2
PR ld/12339
* elf32-arm.c (allocate_dynrelocs): Don't set up eh before following bfd_link_hash_warning symbol link.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-arm.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 42b07c6..9a74332 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -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>
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 716b177..6fdd500 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -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)