OSDN Git Service

mips: Install the __sync libfuncs for mips16
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Nov 2011 23:16:30 +0000 (23:16 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Nov 2011 23:16:30 +0000 (23:16 +0000)
        * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.

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

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

index 9bef97d..6a14c54 100644 (file)
@@ -1,3 +1,7 @@
+2011-11-20  Richard Henderson  <rth@redhat.com>
+
+       * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.
+
 2011-11-20  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/51235
index ff72e28..75e73bd 100644 (file)
@@ -11218,9 +11218,13 @@ mips_init_libfuncs (void)
     }
 
   /* The MIPS16 ISA does not have an encoding for "sync", so we rely
-     on an external non-MIPS16 routine to implement __sync_synchronize.  */
+     on an external non-MIPS16 routine to implement __sync_synchronize.
+     Similarly for the rest of the ll/sc libfuncs.  */
   if (TARGET_MIPS16)
-    synchronize_libfunc = init_one_libfunc ("__sync_synchronize");
+    {
+      synchronize_libfunc = init_one_libfunc ("__sync_synchronize");
+      init_sync_libfuncs (UNITS_PER_WORD);
+    }
 }
 
 /* Build up a multi-insn sequence that loads label TARGET into $AT.  */