mips.c (mips_ok_for_lazy_binding_p): Always return false for locally-binding symbols.

gcc/
	* config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return
	false for locally-binding symbols.
	(mips_dangerous_for_la25_p): Check mips_global_symbol_p.

From-SVN: r123754
This commit is contained in:
Richard Sandiford 2007-04-12 17:37:25 +00:00 committed by Richard Sandiford
parent eb28fb7dbd
commit 006257dc5b
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2007-04-12 Richard Sandiford <richard@codesourcery.com>
* config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return
false for locally-binding symbols.
(mips_dangerous_for_la25_p): Check mips_global_symbol_p.
2007-04-12 Richard Sandiford <richard@codesourcery.com>
* config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to...

View File

@ -3367,9 +3367,7 @@ mips_ok_for_lazy_binding_p (rtx x)
{
return (TARGET_USE_GOT
&& GET_CODE (x) == SYMBOL_REF
&& (TARGET_ABSOLUTE_ABICALLS
? !mips_symbol_binds_local_p (x)
: mips_global_symbol_p (x)));
&& !mips_symbol_binds_local_p (x));
}
/* Load function address ADDR into register DEST. SIBCALL_P is true
@ -7630,7 +7628,10 @@ mips_cannot_change_mode_class (enum machine_mode from,
bool
mips_dangerous_for_la25_p (rtx x)
{
return !TARGET_EXPLICIT_RELOCS && mips_ok_for_lazy_binding_p (x);
return (!TARGET_EXPLICIT_RELOCS
&& TARGET_USE_GOT
&& GET_CODE (x) == SYMBOL_REF
&& mips_global_symbol_p (x));
}
/* Implement PREFERRED_RELOAD_CLASS. */