Module Name:    src
Committed By:   bouyer
Date:           Sun Jan 26 21:26:02 UTC 2014

Modified Files:
        src/external/gpl3/gcc/dist/gcc/config/mips: mips.c

Log Message:
Fix http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260 (patch from
gcc's repository). This bugs show up with Xorg, preventing  xf86-video-sis and
xf86-video-silicon modules from being loaded.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.2 -r1.2 \
    src/external/gpl3/gcc/dist/gcc/config/mips/mips.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/dist/gcc/config/mips/mips.c
diff -u src/external/gpl3/gcc/dist/gcc/config/mips/mips.c:1.1.1.2 src/external/gpl3/gcc/dist/gcc/config/mips/mips.c:1.2
--- src/external/gpl3/gcc/dist/gcc/config/mips/mips.c:1.1.1.2	Tue Sep 18 06:15:42 2012
+++ src/external/gpl3/gcc/dist/gcc/config/mips/mips.c	Sun Jan 26 21:26:02 2014
@@ -6522,6 +6522,15 @@ mips_function_ok_for_sibcall (tree decl,
       && const_call_insn_operand (XEXP (DECL_RTL (decl), 0), VOIDmode))
     return false;
 
+   /* Sibling calls should not prevent lazy binding.  Lazy-binding stubs
+      require $gp to be valid on entry, so sibcalls can only use stubs
+      if $gp is call-clobbered.  */
+   if (decl
+       && TARGET_CALL_SAVED_GP
+       && !TARGET_ABICALLS_PIC0
+       && !targetm.binds_local_p (decl))
+     return false;
+
   /* Otherwise OK.  */
   return true;
 }

Reply via email to