gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Apr 2007 17:37:25 +0000 (17:37 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Apr 2007 17:37:25 +0000 (17:37 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123754 138bc75d-0d04-0410-961f-82ee72b054a4

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

index fb65fb4..0497ecf 100644 (file)
@@ -1,5 +1,11 @@
 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...
        (SYMBOL_GOT_PAGE_OFST): ...this.
        (SYMBOL_GOT_GLOBAL): Rename to...
index d7dbd2e..f782d75 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.  */