mips.c (mips_ok_for_lazy_binding_p): Always return false for locally-binding symbols.
authorRichard Sandiford <richard@codesourcery.com>
Thu, 12 Apr 2007 17:37:25 +0000 (17:37 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 12 Apr 2007 17:37:25 +0000 (17:37 +0000)
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

gcc/ChangeLog
gcc/config/mips/mips.c

index fb65fb48a2eafa3b6c4a38178941c958d6a81150..0497ecf70b298aceecad3e880c533117e0caa24a 100644 (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...
index d7dbd2eb651c09c935a4a0ca4b8c016345437ae5..f782d75f1fa97bbed86438d4f716625e158808da 100644 (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.  */