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