Commit f543676f by Jim Wilson

*** empty log message ***

From-SVN: r906
parent 6f90e075
......@@ -1519,7 +1519,7 @@ dbxout_symbol (decl, local)
{
current_sym_addr = XEXP (DECL_RTL (decl), 0);
letter = TREE_PERMANENT (decl) ? 'S' : 'V';
letter = decl_function_context (decl) ? 'V' : 'S';
if (!DECL_INITIAL (decl))
current_sym_code = N_LCSYM;
......
......@@ -1875,7 +1875,26 @@ copy_rtx_and_substitute (orig, map)
case PC:
case CC0:
case CONST_INT:
return orig;
case SYMBOL_REF:
/* Symbols which represent the address of a label stored in the constant
pool must be modified to point to a constant pool entry for the
remapped label. Otherwise, symbols are returned unchanged. */
if (CONSTANT_POOL_ADDRESS_P (orig))
{
rtx constant = get_pool_constant (orig);
if (GET_CODE (constant) == LABEL_REF)
{
copy = rtx_alloc (LABEL_REF);
PUT_MODE (copy, mode);
XEXP (copy, 0)
= map->label_map[CODE_LABEL_NUMBER (XEXP (constant, 0))];
LABEL_OUTSIDE_LOOP_P (copy) = LABEL_OUTSIDE_LOOP_P (orig);
copy = force_const_mem (Pmode, copy);
return XEXP (copy, 0);
}
}
return orig;
case CONST_DOUBLE:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment