If a symbol ref is in the constant pool, use the pool's version of the symbol instead.

From-SVN: r48625
This commit is contained in:
Nick Clifton 2002-01-08 06:52:57 +00:00 committed by Nick Clifton
parent 57d1019b98
commit 4b69f385ca
2 changed files with 19 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
* dbxout.c (dbxout_symbol_location): If a symbol ref is in the
constant pool, use the pool's version of the symbol instead.
2002-01-07 Richard Henderson <rth@redhat.com>
* regrename.c (find_oldest_value_reg): Ignore the value chain if

View File

@ -2164,6 +2164,20 @@ dbxout_symbol_location (decl, type, suffix, home)
current_sym_code = DBX_STATIC_CONST_VAR_CODE;
else
{
/* Some ports can transform a symbol ref into a label ref,
because the symbol ref is too far away and has to be
dumped into a constant pool. Alternatively, the symbol
in the constant pool might be referenced by a different
symbol. */
if (GET_CODE (current_sym_addr) == SYMBOL_REF
&& CONSTANT_POOL_ADDRESS_P (current_sym_addr))
{
rtx tmp = get_pool_constant (current_sym_addr);
if (GET_CODE (tmp) == SYMBOL_REF)
current_sym_addr = tmp;
}
/* Ultrix `as' seems to need this. */
#ifdef DBX_STATIC_STAB_DATA_SECTION
data_section ();