+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
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 ();