aboutsummaryrefslogtreecommitdiff
path: root/ld/ldcref.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-02-17 00:24:00 +0000
committerAlan Modra <amodra@gmail.com>2007-02-17 00:24:00 +0000
commitdc1946a131f73f5bc4b3dc38141a3411dd39a91e (patch)
tree1a7a47800157f261b1d23bbde48a59b0c27d4be1 /ld/ldcref.c
parent2d43163b332d5f344b55a70faf40d0bcb508a679 (diff)
downloadgdb-dc1946a131f73f5bc4b3dc38141a3411dd39a91e.zip
gdb-dc1946a131f73f5bc4b3dc38141a3411dd39a91e.tar.gz
gdb-dc1946a131f73f5bc4b3dc38141a3411dd39a91e.tar.bz2
* ldcref.c (check_reloc_refs): Compare section for local syms.
Diffstat (limited to 'ld/ldcref.c')
-rw-r--r--ld/ldcref.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/ld/ldcref.c b/ld/ldcref.c
index fb1d3c9..e016451 100644
--- a/ld/ldcref.c
+++ b/ld/ldcref.c
@@ -1,6 +1,6 @@
/* ldcref.c -- output a cross reference table
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006
- Free Software Foundation, Inc.
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006,
+ 2007 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com>
This file is part of GLD, the Gnu Linker.
@@ -710,11 +710,11 @@ check_reloc_refs (bfd *abfd, asection *sec, void *iarg)
| BSF_WEAK)) != 0))
|| (!global
&& ((*q->sym_ptr_ptr)->flags & (BSF_LOCAL
- | BSF_SECTION_SYM)) != 0))
+ | BSF_SECTION_SYM)) != 0
+ && bfd_get_section (*q->sym_ptr_ptr) == info->defsec))
&& (symname != NULL
? strcmp (bfd_asymbol_name (*q->sym_ptr_ptr), symname) == 0
- : (((*q->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0
- && bfd_get_section (*q->sym_ptr_ptr) == info->defsec)))
+ : ((*q->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0))
{
/* We found a reloc for the symbol. The symbol is defined
in OUTSECNAME. This reloc is from a section which is