diff --git a/lib/libcompiler_rt/Makefile b/lib/libcompiler_rt/Makefile index 83c4ea33b45..a02877c00cf 100644 --- a/lib/libcompiler_rt/Makefile +++ b/lib/libcompiler_rt/Makefile @@ -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} diff --git a/lib/libcompiler_rt/__sync_fetch_and_add_8.c b/lib/libcompiler_rt/__sync_fetch_and_add_8.c deleted file mode 100644 index 2738d5dd82e..00000000000 --- a/lib/libcompiler_rt/__sync_fetch_and_add_8.c +++ /dev/null @@ -1,6 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_fetch_and_add_8 -#define TYPE int64_t -#define FETCHADD(x, y) atomic_fetchadd_64(x, y) - -#include "__sync_fetch_and_op_n.h" diff --git a/lib/libcompiler_rt/__sync_fetch_and_and_8.c b/lib/libcompiler_rt/__sync_fetch_and_and_8.c deleted file mode 100644 index f681785b64a..00000000000 --- a/lib/libcompiler_rt/__sync_fetch_and_and_8.c +++ /dev/null @@ -1,7 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_fetch_and_and_8 -#define TYPE int64_t -#define CMPSET atomic_cmpset_64 -#define EXPRESSION t & value - -#include "__sync_fetch_and_op_n.h" diff --git a/lib/libcompiler_rt/__sync_fetch_and_or_8.c b/lib/libcompiler_rt/__sync_fetch_and_or_8.c deleted file mode 100644 index c88a37b7f20..00000000000 --- a/lib/libcompiler_rt/__sync_fetch_and_or_8.c +++ /dev/null @@ -1,7 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_fetch_and_or_8 -#define TYPE int64_t -#define CMPSET atomic_cmpset_64 -#define EXPRESSION t | value - -#include "__sync_fetch_and_op_n.h" diff --git a/lib/libcompiler_rt/__sync_fetch_and_sub_8.c b/lib/libcompiler_rt/__sync_fetch_and_sub_8.c deleted file mode 100644 index 4f239b3e920..00000000000 --- a/lib/libcompiler_rt/__sync_fetch_and_sub_8.c +++ /dev/null @@ -1,6 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_fetch_and_sub_8 -#define TYPE int64_t -#define FETCHADD(x, y) atomic_fetchadd_64(x, -(y)) - -#include "__sync_fetch_and_op_n.h" diff --git a/lib/libcompiler_rt/__sync_fetch_and_xor_8.c b/lib/libcompiler_rt/__sync_fetch_and_xor_8.c deleted file mode 100644 index be677f5794c..00000000000 --- a/lib/libcompiler_rt/__sync_fetch_and_xor_8.c +++ /dev/null @@ -1,7 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_fetch_and_xor_8 -#define TYPE int64_t -#define CMPSET atomic_cmpset_64 -#define EXPRESSION t ^ value - -#include "__sync_fetch_and_op_n.h" diff --git a/lib/libcompiler_rt/__sync_lock_test_and_set_8.c b/lib/libcompiler_rt/__sync_lock_test_and_set_8.c deleted file mode 100644 index 83c1a6acc6a..00000000000 --- a/lib/libcompiler_rt/__sync_lock_test_and_set_8.c +++ /dev/null @@ -1,7 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_lock_test_and_set_8 -#define TYPE int64_t -#define CMPSET atomic_cmpset_64 -#define EXPRESSION value - -#include "__sync_fetch_and_op_n.h" diff --git a/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c b/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c deleted file mode 100644 index 6b7a17d5b3c..00000000000 --- a/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c +++ /dev/null @@ -1,6 +0,0 @@ -/* $FreeBSD$ */ -#define NAME __sync_val_compare_and_swap_8 -#define TYPE int64_t -#define CMPSET atomic_cmpset_64 - -#include "__sync_val_compare_and_swap_n.h"