From dc1946a131f73f5bc4b3dc38141a3411dd39a91e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 17 Feb 2007 00:24:00 +0000 Subject: * ldcref.c (check_reloc_refs): Compare section for local syms. --- ld/ChangeLog | 4 ++++ ld/ldcref.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 6e857be..901cdc8 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2007-02-17 Alan Modra + + * ldcref.c (check_reloc_refs): Compare section for local syms. + 2007-02-13 Alan Modra * emultempl/spu_ovl.S (__ovly_return, __ovly_load): Set sym size. 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 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 -- cgit v1.1