diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a99f2d70f4..1aec1408048 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,7 +1,7 @@ 2007-12-06 Richard Sandiford - * config/mips/mips.c (mips_function_ok_for_sibcall): Use - targetm.binds_local_p instead of DECL_EXTERNAL. + * config/mips/mips.c (mips_function_ok_for_sibcall): Check + targetm.binds_local_p as well as DECL_EXTERNAL. 2007-12-06 Harsha Jagasia diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 125f0871478..e7c9909dec0 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -5616,7 +5616,7 @@ mips_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED) us otherwise. */ if (TARGET_INTERLINK_MIPS16 && decl - && !targetm.binds_local_p (decl) + && (DECL_EXTERNAL (decl) || !targetm.binds_local_p (decl)) && !mips_nomips16_decl_p (decl) && const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode)) return false;