summary refs log tree commit diff
path: root/gnu/packages/patches/apr-fix-atomics.patch
blob: 94cce9b5f10e7fb82b4e8c9118542174f720e566 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
This patch is taken from Debian, using Debian version 1.7.0-8.
A new patch will be needed when apr is updated.

# quick and dirty fix for FTBFS on mipsel
# There should be a proper configure check, see 
# https://bz.apache.org/bugzilla/show_bug.cgi?id=63566
Index: apr-1.7.0/include/arch/unix/apr_arch_atomic.h
===================================================================
--- apr-1.7.0.orig/include/arch/unix/apr_arch_atomic.h
+++ apr-1.7.0/include/arch/unix/apr_arch_atomic.h
@@ -26,6 +26,9 @@
 /* noop */
 #elif HAVE_ATOMIC_BUILTINS
 #   define USE_ATOMICS_BUILTINS
+#   if (__INTPTR_WIDTH__ == 32) && ( defined(__MIPSEL__) || defined(__powerpc__) ) || defined(__m68k__) || defined(__sh__)
+#       define NEED_ATOMICS_GENERIC64
+#   endif
 #elif defined(SOLARIS2) && SOLARIS2 >= 10
 #   define USE_ATOMICS_SOLARIS
 #   define NEED_ATOMICS_GENERIC64
Index: apr-1.7.0/atomic/unix/builtins64.c
===================================================================
--- apr-1.7.0.orig/atomic/unix/builtins64.c
+++ apr-1.7.0/atomic/unix/builtins64.c
@@ -16,7 +16,7 @@
 
 #include "apr_arch_atomic.h"
 
-#ifdef USE_ATOMICS_BUILTINS
+#if defined(USE_ATOMICS_BUILTINS) && ! defined(NEED_ATOMICS_GENERIC64)
 
 APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem)
 {
Index: apr-1.7.0/atomic/unix/builtins.c
===================================================================
--- apr-1.7.0.orig/atomic/unix/builtins.c
+++ apr-1.7.0/atomic/unix/builtins.c
@@ -20,7 +20,11 @@
 
 APR_DECLARE(apr_status_t) apr_atomic_init(apr_pool_t *p)
 {
+#if defined (NEED_ATOMICS_GENERIC64)
+    return apr__atomic_generic64_init(p);
+#else
     return APR_SUCCESS;
+#endif
 }
 
 APR_DECLARE(apr_uint32_t) apr_atomic_read32(volatile apr_uint32_t *mem)