svn commit: r251525 - head/lib/libcompiler_rt

Ed Schouten ed at FreeBSD.org
Sat Jun 8 13:22:54 UTC 2013


Author: ed
Date: Sat Jun  8 13:22:53 2013
New Revision: 251525
URL: http://svnweb.freebsd.org/changeset/base/251525

Log:
  Use improved __sync_*() intrinsics for MIPS in userspace as well.
  
  r251524 introduced custom tailored versions for MIPS of these functions
  for kernel-space code. We can just reuse them in userspace as well.

Deleted:
  head/lib/libcompiler_rt/__sync_fetch_and_add_8.c
  head/lib/libcompiler_rt/__sync_fetch_and_and_8.c
  head/lib/libcompiler_rt/__sync_fetch_and_or_8.c
  head/lib/libcompiler_rt/__sync_fetch_and_sub_8.c
  head/lib/libcompiler_rt/__sync_fetch_and_xor_8.c
  head/lib/libcompiler_rt/__sync_lock_test_and_set_8.c
  head/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c
Modified:
  head/lib/libcompiler_rt/Makefile

Modified: head/lib/libcompiler_rt/Makefile
==============================================================================
--- head/lib/libcompiler_rt/Makefile	Sat Jun  8 13:19:11 2013	(r251524)
+++ head/lib/libcompiler_rt/Makefile	Sat Jun  8 13:22:53 2013	(r251525)
@@ -157,7 +157,7 @@ SRCF+=	divsi3 \
 .endif
 
 # FreeBSD-specific atomic intrinsics.
-.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "mips"
+.if ${MACHINE_CPUARCH} == "arm"
 SRCF+=	__sync_fetch_and_add_4 \
 	__sync_fetch_and_and_4 \
 	__sync_fetch_and_or_4 \
@@ -166,15 +166,10 @@ SRCF+=	__sync_fetch_and_add_4 \
 	__sync_lock_test_and_set_4 \
 	__sync_synchronize \
 	__sync_val_compare_and_swap_4
-.endif
-.if ${MACHINE_ARCH:Mmips64*} != ""
-SRCF+=	__sync_fetch_and_add_8 \
-	__sync_fetch_and_and_8 \
-	__sync_fetch_and_or_8 \
-	__sync_fetch_and_sub_8 \
-	__sync_fetch_and_xor_8 \
-	__sync_lock_test_and_set_8 \
-	__sync_val_compare_and_swap_8
+.elif ${MACHINE_CPUARCH} == "mips"
+.PATH: ${.CURDIR}/../../sys/mips/mips
+
+SRCF+=	stdatomic
 .endif
 
 .for file in ${SRCF}


More information about the svn-src-all mailing list