X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=include%2Furcu%2Fuatomic%2Friscv.h;h=c1ba29e2dd1f711236c8ace982f3c75a49961c6d;hb=HEAD;hp=93131909628a5d66c0d6b527c08e237a195b6f9a;hpb=d3d3857f678627e7bbfb5a8d6f3bc15cd2a694d9;p=urcu.git diff --git a/include/urcu/uatomic/riscv.h b/include/urcu/uatomic/riscv.h index 9313190..c1ba29e 100644 --- a/include/urcu/uatomic/riscv.h +++ b/include/urcu/uatomic/riscv.h @@ -3,7 +3,9 @@ // SPDX-License-Identifier: MIT /* - * Atomic exchange operations for the RISC-V architecture. Let GCC do it. + * Atomic exchange operations for the RISC-V architecture. + * + * Let the compiler do it. */ #ifndef _URCU_ARCH_UATOMIC_RISCV_H @@ -12,6 +14,20 @@ #include #include +/* + * See for details. + * + * Until the following patches are backported, Userspace RCU is broken for the + * RISC-V architecture when compiled with GCC. + * + * - + * - + * - + */ +#ifdef URCU_GCC_VERSION +# error "Implementations of some atomic operations of GCC for RISC-V are insufficient for sequential consistency. For this reason Userspace RCU is currently marked as 'broken' for RISC-V with GCC. However, it is still possible to use other toolchains." +#endif + #ifdef __cplusplus extern "C" { #endif