From: Michael Jeanson Date: Fri, 11 Dec 2020 22:22:23 +0000 (-0500) Subject: Blacklist GCC 4.4.0, 4.4.1 and 4.4.2 on ARM X-Git-Tag: v0.13.0~45 X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=39c2747c011f2d7563c8fa63e26cd92ca552d15b Blacklist GCC 4.4.0, 4.4.1 and 4.4.2 on ARM GCC added __sync_synchronize() in 4.4.0 but it was broken on ARM until 4.4.3, see the GCC bug report for more details : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers Change-Id: I629e3c8b4baaccb34b2311e220f30d0ad8b69a19 --- diff --git a/include/urcu/arch/arm.h b/include/urcu/arch/arm.h index 5d1c608..e904b06 100644 --- a/include/urcu/arch/arm.h +++ b/include/urcu/arch/arm.h @@ -70,6 +70,15 @@ extern "C" { # endif #endif +/* + * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42263 + */ +#ifdef URCU_GCC_VERSION +# if URCU_GCC_VERSION >= 40400 && URCU_GCC_VERSION <= 40402 +# error Your gcc version has a non-functional __sync_synchronize() +# endif +#endif + #ifdef __cplusplus } #endif