Blacklist GCC 4.4.0, 4.4.1 and 4.4.2 on ARM
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 11 Dec 2020 22:22:23 +0000 (17:22 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 17 Dec 2020 13:28:17 +0000 (08:28 -0500)
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 <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I629e3c8b4baaccb34b2311e220f30d0ad8b69a19

include/urcu/arch/arm.h

index 5d1c60836da9a34fb1f2f71783255f5532d546b3..e904b06e461cd56a6aa30fe685340cf51501193c 100644 (file)
@@ -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
This page took 0.032592 seconds and 4 git commands to generate.