From e6a6bb22ab75ecdba2c4a44a33b730829acace11 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 14 Jan 2011 02:17:58 +0000 Subject: [PATCH] PR ld/12339 * elf32-arm.c (allocate_dynrelocs): Don't set up eh before following bfd_link_hash_warning symbol link. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-arm.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 42b07c6d227..9a7433203bf 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2011-01-14 J. Park + + 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 Glauber de Oliveira Costa diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 716b17715aa..6fdd500ceb6 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) -- 2.30.2