* ldcref.c (check_reloc_refs): Compare section for local syms.

This commit is contained in:
Alan Modra 2007-02-17 00:24:00 +00:00
parent 2d43163b33
commit dc1946a131
2 changed files with 9 additions and 5 deletions

View File

@ -1,3 +1,7 @@
2007-02-17 Alan Modra <amodra@bigpond.net.au>
* ldcref.c (check_reloc_refs): Compare section for local syms.
2007-02-13 Alan Modra <amodra@bigpond.net.au> 2007-02-13 Alan Modra <amodra@bigpond.net.au>
* emultempl/spu_ovl.S (__ovly_return, __ovly_load): Set sym size. * emultempl/spu_ovl.S (__ovly_return, __ovly_load): Set sym size.

View File

@ -1,6 +1,6 @@
/* ldcref.c -- output a cross reference table /* ldcref.c -- output a cross reference table
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006,
Free Software Foundation, Inc. 2007 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@cygnus.com> Written by Ian Lance Taylor <ian@cygnus.com>
This file is part of GLD, the Gnu Linker. 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)) | BSF_WEAK)) != 0))
|| (!global || (!global
&& ((*q->sym_ptr_ptr)->flags & (BSF_LOCAL && ((*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 && (symname != NULL
? strcmp (bfd_asymbol_name (*q->sym_ptr_ptr), symname) == 0 ? strcmp (bfd_asymbol_name (*q->sym_ptr_ptr), symname) == 0
: (((*q->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0 : ((*q->sym_ptr_ptr)->flags & BSF_SECTION_SYM) != 0))
&& bfd_get_section (*q->sym_ptr_ptr) == info->defsec)))
{ {
/* We found a reloc for the symbol. The symbol is defined /* We found a reloc for the symbol. The symbol is defined
in OUTSECNAME. This reloc is from a section which is in OUTSECNAME. This reloc is from a section which is