summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/liburcu
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-support/liburcu')
-rw-r--r--meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch158
-rw-r--r--meta/recipes-support/liburcu/liburcu/Revert-Blacklist-ARM-gcc-4.8.0-4.8.1-4.8.2.patch47
-rw-r--r--meta/recipes-support/liburcu/liburcu/aarch64.patch19
-rw-r--r--meta/recipes-support/liburcu/liburcu_0.9.1.bb (renamed from meta/recipes-support/liburcu/liburcu_0.8.7.bb)9
4 files changed, 3 insertions, 230 deletions
diff --git a/meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch b/meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch
deleted file mode 100644
index 5ad0bbd159..0000000000
--- a/meta/recipes-support/liburcu/liburcu/0001-uatomic-Specify-complete-types-for-atomic-function-c.patch
+++ /dev/null
@@ -1,158 +0,0 @@
1From 6af790818d074c103c4797f1ce764896f183e028 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 22 Aug 2015 21:35:03 -0700
4Subject: [PATCH] uatomic: Specify complete types for atomic function calls
5
6This was unearthed by clang compiler where it complained about parameter
7mismatch, gcc doesnt notice this
8
9urcu/uatomic/generic.h:190:10: error: address argument to atomic builtin
10must be a pointer to integer or pointer ('void *' invalid)
11 return __sync_add_and_fetch_4(addr, val);
12
13Fixed all instances thusly
14
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17Upstream-Status: Submitted
18
19 urcu/uatomic/generic.h | 40 ++++++++++++++++++++--------------------
20 1 file changed, 20 insertions(+), 20 deletions(-)
21
22diff --git a/urcu/uatomic/generic.h b/urcu/uatomic/generic.h
23index 37f59cc..0046ffd 100644
24--- a/urcu/uatomic/generic.h
25+++ b/urcu/uatomic/generic.h
26@@ -65,17 +65,17 @@ unsigned long _uatomic_cmpxchg(void *addr, unsigned long old,
27 switch (len) {
28 #ifdef UATOMIC_HAS_ATOMIC_BYTE
29 case 1:
30- return __sync_val_compare_and_swap_1(addr, old, _new);
31+ return __sync_val_compare_and_swap_1((unsigned char *)addr, old, _new);
32 #endif
33 #ifdef UATOMIC_HAS_ATOMIC_SHORT
34 case 2:
35- return __sync_val_compare_and_swap_2(addr, old, _new);
36+ return __sync_val_compare_and_swap_2((unsigned short int *)addr, old, _new);
37 #endif
38 case 4:
39- return __sync_val_compare_and_swap_4(addr, old, _new);
40+ return __sync_val_compare_and_swap_4((unsigned int *)addr, old, _new);
41 #if (CAA_BITS_PER_LONG == 64)
42 case 8:
43- return __sync_val_compare_and_swap_8(addr, old, _new);
44+ return __sync_val_compare_and_swap_8((unsigned long *)addr, old, _new);
45 #endif
46 }
47 _uatomic_link_error();
48@@ -100,20 +100,20 @@ void _uatomic_and(void *addr, unsigned long val,
49 switch (len) {
50 #ifdef UATOMIC_HAS_ATOMIC_BYTE
51 case 1:
52- __sync_and_and_fetch_1(addr, val);
53+ __sync_and_and_fetch_1((unsigned char *)addr, val);
54 return;
55 #endif
56 #ifdef UATOMIC_HAS_ATOMIC_SHORT
57 case 2:
58- __sync_and_and_fetch_2(addr, val);
59+ __sync_and_and_fetch_2((unsigned short int *)addr, val);
60 return;
61 #endif
62 case 4:
63- __sync_and_and_fetch_4(addr, val);
64+ __sync_and_and_fetch_4((unsigned int *)addr, val);
65 return;
66 #if (CAA_BITS_PER_LONG == 64)
67 case 8:
68- __sync_and_and_fetch_8(addr, val);
69+ __sync_and_and_fetch_8((unsigned long *)addr, val);
70 return;
71 #endif
72 }
73@@ -139,20 +139,20 @@ void _uatomic_or(void *addr, unsigned long val,
74 switch (len) {
75 #ifdef UATOMIC_HAS_ATOMIC_BYTE
76 case 1:
77- __sync_or_and_fetch_1(addr, val);
78+ __sync_or_and_fetch_1((unsigned char *)addr, val);
79 return;
80 #endif
81 #ifdef UATOMIC_HAS_ATOMIC_SHORT
82 case 2:
83- __sync_or_and_fetch_2(addr, val);
84+ __sync_or_and_fetch_2((unsigned short int *)addr, val);
85 return;
86 #endif
87 case 4:
88- __sync_or_and_fetch_4(addr, val);
89+ __sync_or_and_fetch_4((unsigned int *)addr, val);
90 return;
91 #if (CAA_BITS_PER_LONG == 64)
92 case 8:
93- __sync_or_and_fetch_8(addr, val);
94+ __sync_or_and_fetch_8((unsigned long *)addr, val);
95 return;
96 #endif
97 }
98@@ -180,17 +180,17 @@ unsigned long _uatomic_add_return(void *addr, unsigned long val,
99 switch (len) {
100 #ifdef UATOMIC_HAS_ATOMIC_BYTE
101 case 1:
102- return __sync_add_and_fetch_1(addr, val);
103+ return __sync_add_and_fetch_1((unsigned char *)addr, val);
104 #endif
105 #ifdef UATOMIC_HAS_ATOMIC_SHORT
106 case 2:
107- return __sync_add_and_fetch_2(addr, val);
108+ return __sync_add_and_fetch_2((unsigned short int *)addr, val);
109 #endif
110 case 4:
111- return __sync_add_and_fetch_4(addr, val);
112+ return __sync_add_and_fetch_4((unsigned int *)addr, val);
113 #if (CAA_BITS_PER_LONG == 64)
114 case 8:
115- return __sync_add_and_fetch_8(addr, val);
116+ return __sync_add_and_fetch_8((unsigned long *)addr, val);
117 #endif
118 }
119 _uatomic_link_error();
120@@ -218,7 +218,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
121
122 do {
123 old = uatomic_read((unsigned char *)addr);
124- } while (!__sync_bool_compare_and_swap_1(addr, old, val));
125+ } while (!__sync_bool_compare_and_swap_1((unsigned char *)addr, old, val));
126
127 return old;
128 }
129@@ -230,7 +230,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
130
131 do {
132 old = uatomic_read((unsigned short *)addr);
133- } while (!__sync_bool_compare_and_swap_2(addr, old, val));
134+ } while (!__sync_bool_compare_and_swap_2((unsigned short int *)addr, old, val));
135
136 return old;
137 }
138@@ -241,7 +241,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
139
140 do {
141 old = uatomic_read((unsigned int *)addr);
142- } while (!__sync_bool_compare_and_swap_4(addr, old, val));
143+ } while (!__sync_bool_compare_and_swap_4((unsigned int *)addr, old, val));
144
145 return old;
146 }
147@@ -252,7 +252,7 @@ unsigned long _uatomic_exchange(void *addr, unsigned long val, int len)
148
149 do {
150 old = uatomic_read((unsigned long *)addr);
151- } while (!__sync_bool_compare_and_swap_8(addr, old, val));
152+ } while (!__sync_bool_compare_and_swap_8((unsigned long *)addr, old, val));
153
154 return old;
155 }
156--
1572.1.4
158
diff --git a/meta/recipes-support/liburcu/liburcu/Revert-Blacklist-ARM-gcc-4.8.0-4.8.1-4.8.2.patch b/meta/recipes-support/liburcu/liburcu/Revert-Blacklist-ARM-gcc-4.8.0-4.8.1-4.8.2.patch
deleted file mode 100644
index 535a7384cb..0000000000
--- a/meta/recipes-support/liburcu/liburcu/Revert-Blacklist-ARM-gcc-4.8.0-4.8.1-4.8.2.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 7b3df100346128d780f218b881d563d1fd12e310 Mon Sep 17 00:00:00 2001
2From: Jonathan Liu <net147@gmail.com>
3Date: Mon, 20 Oct 2014 13:46:10 +1100
4Subject: [PATCH] Revert "Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2"
5
6This reverts commit 4b79310aa3d408ba30fee02cc497a68072d38a99.
7OE-Core is using a patched GCC 4.8.2 which is able to compile liburcu
8properly.
9
10Upstream-Status: Inappropriate [OE specific]
11
12Signed-off-by: Jonathan Liu <net147@gmail.com>
13---
14 urcu/compiler.h | 19 -------------------
15 1 file changed, 19 deletions(-)
16
17diff --git a/urcu/compiler.h b/urcu/compiler.h
18index 1e30903..19534f0 100644
19--- a/urcu/compiler.h
20+++ b/urcu/compiler.h
21@@ -108,23 +108,4 @@
22
23 #define CAA_ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
24
25-/*
26- * Don't allow compiling with buggy compiler.
27- */
28-
29-#ifdef __GNUC__
30-# define URCU_GCC_VERSION (__GNUC__ * 10000 \
31- + __GNUC_MINOR__ * 100 \
32- + __GNUC_PATCHLEVEL__)
33-
34-/*
35- * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
36- */
37-# ifdef __ARMEL__
38-# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802
39-# error Your gcc version produces clobbered frame accesses
40-# endif
41-# endif
42-#endif
43-
44 #endif /* _URCU_COMPILER_H */
45--
462.1.2
47
diff --git a/meta/recipes-support/liburcu/liburcu/aarch64.patch b/meta/recipes-support/liburcu/liburcu/aarch64.patch
deleted file mode 100644
index c6cc8c2fd3..0000000000
--- a/meta/recipes-support/liburcu/liburcu/aarch64.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1libucru: recognize aarch64
2
3Make the same as "arm" internally.
4
5Upstream-Status: Pending
6
7Signed-off-by: joe.slater@windriver.com
8
9
10--- a/configure.ac
11+++ b/configure.ac
12@@ -77,6 +77,7 @@ AS_CASE([$host_cpu],
13 [alpha*], [ARCHTYPE="alpha"],
14 [ia64], [ARCHTYPE="gcc"],
15 [arm*], [ARCHTYPE="arm"],
16+ [aarch64], [ARCHTYPE="arm"],
17 [mips*], [ARCHTYPE="mips"],
18 [tile*], [ARCHTYPE="gcc"],
19 [ARCHTYPE="unknown"]
diff --git a/meta/recipes-support/liburcu/liburcu_0.8.7.bb b/meta/recipes-support/liburcu/liburcu_0.9.1.bb
index a7f4f51b5b..39348d75e9 100644
--- a/meta/recipes-support/liburcu/liburcu_0.8.7.bb
+++ b/meta/recipes-support/liburcu/liburcu_0.9.1.bb
@@ -5,16 +5,13 @@ BUGTRACKER = "http://lttng.org/project/issues"
5LICENSE = "LGPLv2.1+ & MIT-style" 5LICENSE = "LGPLv2.1+ & MIT-style"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=0f060c30a27922ce9c0d557a639b4fa3 \ 6LIC_FILES_CHKSUM = "file://LICENSE;md5=0f060c30a27922ce9c0d557a639b4fa3 \
7 file://urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ 7 file://urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \
8 file://urcu/uatomic/x86.h;beginline=4;endline=21;md5=220552f72c55b102f2ee35929734ef42" 8 file://urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b"
9 9
10SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \ 10SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \
11 file://Revert-Blacklist-ARM-gcc-4.8.0-4.8.1-4.8.2.patch \
12 file://aarch64.patch \
13 file://0001-uatomic-Specify-complete-types-for-atomic-function-c.patch \
14 " 11 "
15 12
16SRC_URI[md5sum] = "7a6ee17871d31226db3f618e28351d22" 13SRC_URI[md5sum] = "124eaeea06863271c0bdf2a0cc1d8e4b"
17SRC_URI[sha256sum] = "b523f22c4726ca6bb77a77d258e76d8c33c89724433bd65313024b98e55c4295" 14SRC_URI[sha256sum] = "f8d278e9d95bec97c9ba954fc4c3fb584936bc0010713a8fe358b916bafd8715"
18 15
19S = "${WORKDIR}/userspace-rcu-${PV}" 16S = "${WORKDIR}/userspace-rcu-${PV}"
20CFLAGS_append_libc-uclibc = " -D_GNU_SOURCE" 17CFLAGS_append_libc-uclibc = " -D_GNU_SOURCE"