Commit 4377fad9 by Richard Sandiford Committed by Richard Sandiford

mips.c (mips_classify_symbol): Don't return SYMBOL_PC_RELATIVE for nonlocal labels.

gcc/
	* config/mips/mips.c (mips_classify_symbol): Don't return
	SYMBOL_PC_RELATIVE for nonlocal labels.

From-SVN: r168874
parent 89a5f486
2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
* config/mips/mips.c (mips_classify_symbol): Don't return
SYMBOL_PC_RELATIVE for nonlocal labels.
2011-01-15 Eric Botcazou <ebotcazou@adacore.com> 2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
* config/sparc/sol2-bi.h (CC1_SPEC): Fix typo. * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
......
...@@ -1669,10 +1669,13 @@ mips_classify_symbol (const_rtx x, enum mips_symbol_context context) ...@@ -1669,10 +1669,13 @@ mips_classify_symbol (const_rtx x, enum mips_symbol_context context)
if (GET_CODE (x) == LABEL_REF) if (GET_CODE (x) == LABEL_REF)
{ {
/* LABEL_REFs are used for jump tables as well as text labels. /* Only return SYMBOL_PC_RELATIVE if we are generating MIPS16
Only return SYMBOL_PC_RELATIVE if we know the label is in code and if we know that the label is in the current function's
the text section. */ text section. LABEL_REFs are used for jump tables as well as
if (TARGET_MIPS16_SHORT_JUMP_TABLES) text labels, so we must check whether jump tables live in the
text section. */
if (TARGET_MIPS16_SHORT_JUMP_TABLES
&& !LABEL_REF_NONLOCAL_P (x))
return SYMBOL_PC_RELATIVE; return SYMBOL_PC_RELATIVE;
if (TARGET_ABICALLS && !TARGET_ABSOLUTE_ABICALLS) if (TARGET_ABICALLS && !TARGET_ABSOLUTE_ABICALLS)
......
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