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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132 | --- memcached-1.4.25.orig/configure
+++ memcached-1.4.25/configure
@@ -6124,77 +6124,8 @@ fi
done
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alignment" >&5
-$as_echo_n "checking for alignment... " >&6; }
-if ${ac_cv_c_alignment+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if test "$cross_compiling" = yes; then :
-
- ac_cv_c_alignment=need
-
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <stdlib.h>
-#include <inttypes.h>
-
-int
-main ()
-{
-
- char *buf = malloc(32);
-
- uint64_t *ptr = (uint64_t*)(buf+2);
- // catch sigbus, etc.
- *ptr = 0x1;
-
- // catch unaligned word access (ARM cpus)
-#ifdef ENDIAN_BIG
-#define ALIGNMENT 0x02030405
-#else
-#define ALIGNMENT 0x05040302
-#endif
- *(buf + 0) = 1;
- *(buf + 1) = 2;
- *(buf + 2) = 3;
- *(buf + 3) = 4;
- *(buf + 4) = 5;
- int* i = (int*)(buf+1);
- return (ALIGNMENT == *i) ? 0 : 1;
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
- ac_cv_c_alignment=none
-
-else
-
- ac_cv_c_alignment=need
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_alignment" >&5
-$as_echo "$ac_cv_c_alignment" >&6; }
-if test $ac_cv_c_alignment = need; then
-
$as_echo "#define NEED_ALIGN 1" >>confdefs.h
-fi
-
have_gcc_atomics=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC atomics" >&5
--- memcached-1.4.25.orig/configure.ac
+++ memcached-1.4.25/configure.ac
@@ -478,48 +478,7 @@ AC_CHECK_FUNCS(sigignore)
AC_CHECK_FUNCS(clock_gettime)
AC_CHECK_FUNCS([accept4], [AC_DEFINE(HAVE_ACCEPT4, 1, [Define to 1 if support accept4])])
-AC_DEFUN([AC_C_ALIGNMENT],
-[AC_CACHE_CHECK(for alignment, ac_cv_c_alignment,
-[
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM([
-#include <stdlib.h>
-#include <inttypes.h>
- ], [
- char *buf = malloc(32);
-
- uint64_t *ptr = (uint64_t*)(buf+2);
- // catch sigbus, etc.
- *ptr = 0x1;
-
- // catch unaligned word access (ARM cpus)
-#ifdef ENDIAN_BIG
-#define ALIGNMENT 0x02030405
-#else
-#define ALIGNMENT 0x05040302
-#endif
- *(buf + 0) = 1;
- *(buf + 1) = 2;
- *(buf + 2) = 3;
- *(buf + 3) = 4;
- *(buf + 4) = 5;
- int* i = (int*)(buf+1);
- return (ALIGNMENT == *i) ? 0 : 1;
- ])
- ],[
- ac_cv_c_alignment=none
- ],[
- ac_cv_c_alignment=need
- ],[
- ac_cv_c_alignment=need
- ])
-])
-if test $ac_cv_c_alignment = need; then
- AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])
-fi
-])
-
-AC_C_ALIGNMENT
+AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])
dnl Check for our specific usage of GCC atomics.
dnl These were added in 4.1.2, but 32bit OS's may lack shorts and 4.1.2
|