summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-01-11 10:50:41 +0100
committerBruno Haible <bruno@clisp.org>2023-01-11 10:50:41 +0100
commite538b158cf08cc3632dc646468b58b7248d055a7 (patch)
treebd92e7a69e33d4cabe07c59a9c396b56001a0f78
parent7f1b32336b063be3a672e9285f62c6b8ce5eb6e1 (diff)
downloadgnulib-e538b158cf08cc3632dc646468b58b7248d055a7.tar.gz
Fix link errors on Android 4.3.
* lib/asyncsafe-spin.c: Don't use the GCC >= 4.1 builtins on Android. * lib/pthread-spin.c: Likewise. * lib/simple-atomic.c: Likewise.
-rw-r--r--ChangeLog7
-rw-r--r--lib/asyncsafe-spin.c2
-rw-r--r--lib/pthread-spin.c2
-rw-r--r--lib/simple-atomic.c2
4 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7868d312bf..4d632915b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2023-01-11 Bruno Haible <bruno@clisp.org>
+
+ Fix link errors on Android 4.3.
+ * lib/asyncsafe-spin.c: Don't use the GCC >= 4.1 builtins on Android.
+ * lib/pthread-spin.c: Likewise.
+ * lib/simple-atomic.c: Likewise.
+
2023-01-10 Jim Meyering <meyering@fb.com>
update-copyright: also work with two or more updatable lines in a file
diff --git a/lib/asyncsafe-spin.c b/lib/asyncsafe-spin.c
index 7a74c32077..66e1669924 100644
--- a/lib/asyncsafe-spin.c
+++ b/lib/asyncsafe-spin.c
@@ -136,7 +136,7 @@ do_unlock (asyncsafe_spinlock_t *lock)
# elif (((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) \
&& !defined __sparc__) \
|| __clang_major__ >= 3) \
- && !defined __ibmxl__
+ && !defined __ibmxl__ && !defined __ANDROID__
/* Use GCC built-ins (available in GCC >= 4.1, except on SPARC, and
clang >= 3.0).
Documentation:
diff --git a/lib/pthread-spin.c b/lib/pthread-spin.c
index ca3e88755a..e551f733cf 100644
--- a/lib/pthread-spin.c
+++ b/lib/pthread-spin.c
@@ -164,7 +164,7 @@ pthread_spin_destroy (pthread_spinlock_t *lock)
# elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) \
|| __clang_major__ >= 3) \
- && !defined __ibmxl__
+ && !defined __ibmxl__ && !defined __ANDROID__
/* Use GCC built-ins (available in GCC >= 4.1 and clang >= 3.0).
Documentation:
<https://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Atomic-Builtins.html> */
diff --git a/lib/simple-atomic.c b/lib/simple-atomic.c
index 4e52447ed6..ffa126613c 100644
--- a/lib/simple-atomic.c
+++ b/lib/simple-atomic.c
@@ -69,7 +69,7 @@ atomic_compare_and_swap_ptr (uintptr_t volatile *vp,
# if (((__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1)) \
&& !defined __sparc__) \
|| __clang_major__ >= 3) \
- && !defined __ibmxl__
+ && !defined __ibmxl__ && !defined __ANDROID__
/* Use GCC built-ins (available in GCC >= 4.1, except on SPARC, and
clang >= 3.0).
Documentation: