X-Git-Url: http://git.lttng.org/?p=urcu.git;a=blobdiff_plain;f=include%2Furcu%2Fuatomic%2Friscv.h;fp=include%2Furcu%2Fuatomic%2Friscv.h;h=a70ea25e107c04f2b2db371caee06243bfdbba7c;hp=93131909628a5d66c0d6b527c08e237a195b6f9a;hb=46980605309e922d14f646c6705d184cb674c0f7;hpb=965e60edf1aad42f8981887d5fc50e29380c37e4 diff --git a/include/urcu/uatomic/riscv.h b/include/urcu/uatomic/riscv.h index 9313190..a70ea25 100644 --- a/include/urcu/uatomic/riscv.h +++ b/include/urcu/uatomic/riscv.h @@ -3,9 +3,28 @@ // 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. */ +/* + * See for details. + * + * Until the following patches are backported, Userspace RCU is broken for the + * RISC-V architecture when compiled with GCC. + * + * - + * - + * - + */ +#if defined(__GNUC__) +# 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 + #ifndef _URCU_ARCH_UATOMIC_RISCV_H #define _URCU_ARCH_UATOMIC_RISCV_H