* config/tc-sh.c (sh_frob_section): Canonicalize pointers to local

vs full symbols so that we never have more than one pointer value
for any given symbol in our symbol table.
This commit is contained in:
DJ Delorie 2006-08-08 17:21:04 +00:00
parent e6f2cbf536
commit e14e52f868
2 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2006-08-08 DJ Delorie <dj@redhat.com>
* config/tc-sh.c (sh_frob_section): Canonicalize pointers to local
vs full symbols so that we never have more than one pointer value
for any given symbol in our symbol table.
2006-08-08 Sterling Augustine <sterling@tensilica.com>
* dwarf2dbg.c (out_debug_info): Add new parameter ranges_seg

View File

@ -3315,6 +3315,21 @@ sh_frob_section (bfd *abfd ATTRIBUTE_UNUSED, segT sec,
if (seginfo == NULL)
return;
for (fix = seginfo->fix_root; fix != NULL; fix = fix->fx_next)
{
symbolS *sym;
sym = fix->fx_addsy;
/* Check for a local_symbol. */
if (sym && sym->bsym == NULL)
{
struct local_symbol *ls = (struct local_symbol *)sym;
/* See if it's been converted. If so, canonicalize. */
if (local_symbol_converted_p (ls))
fix->fx_addsy = local_symbol_get_real_symbol (ls);
}
}
for (fix = seginfo->fix_root; fix != NULL; fix = fix->fx_next)
{
symbolS *sym;