summaryrefslogtreecommitdiff
path: root/package/libev/0001-fix-sparcv8-condition.patch
blob: d411f834f51f68ec11049f2842d0c9e622e55947 (plain)
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
Fix SPARCv8 condition

The define provided by the compiler on SPARCv8 is __sparc_v8__ and not
__sparcv8. From a SPARCv8 gcc:

$ sparc-linux-gcc --version
sparc-linux-gcc (Buildroot 2015.08-git-00497-ge110081) 4.9.3
[...]
$ sparc-linux-gcc -dM -E - < /dev/null | grep sparc
#define sparc 1
#define __sparc__ 1
#define __sparc 1
#define __sparc_v8__ 1

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: b/ev.c
===================================================================
--- a/ev.c
+++ b/ev.c
@@ -649,7 +649,7 @@
       #define ECB_MEMORY_FENCE         __asm__ __volatile__ ("dmb"      : : : "memory")
     #elif __aarch64__
       #define ECB_MEMORY_FENCE         __asm__ __volatile__ ("dmb ish"  : : : "memory")
-    #elif (__sparc || __sparc__) && !__sparcv8
+    #elif (__sparc || __sparc__) && !__sparc_v8__
       #define ECB_MEMORY_FENCE         __asm__ __volatile__ ("membar #LoadStore | #LoadLoad | #StoreStore | #StoreLoad" : : : "memory")
       #define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad"                            : : : "memory")
       #define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("membar #LoadStore             | #StoreStore")