- updated to 1.7.57
[packages/fox.git] / x32.patch
1 --- fox-1.7.57/lib/FXAtomic.cpp.orig    2017-02-06 05:34:36.826461208 +0100
2 +++ fox-1.7.57/lib/FXAtomic.cpp 2017-02-06 05:40:53.793123570 +0100
3 @@ -404,7 +404,7 @@
4    return result;
5  #elif (defined(WIN32) && (_MSC_VER >= 1500))
6    return (FXptr)_InterlockedExchange((LONG*)ptr,(LONG)v);
7 -#elif (defined(HAVE_INLINE_ASSEMBLY) && defined(__i386__))
8 +#elif (defined(HAVE_INLINE_ASSEMBLY) && (defined(__i386__) || (defined(__x86_64) && defined(__ILP32__))))
9    FXptr ret=v;
10    __asm__ __volatile__("xchgl %0, (%1)\n\t" : "=r"(ret) : "r"(ptr), "0"(ret) : "memory", "cc");
11    return ret;
12 @@ -429,7 +429,7 @@
13    return (FXptr)_InterlockedExchangeAdd64((LONGLONG*)ptr,(LONGLONG)v);
14  #elif (defined(WIN32) && (_MSC_VER >= 1600))
15    return (FXptr)_InterlockedExchangeAdd((LONG*)ptr,(LONG)v);
16 -#elif (defined(HAVE_INLINE_ASSEMBLY) && defined(__i386__))
17 +#elif (defined(HAVE_INLINE_ASSEMBLY) && (defined(__i386__) || (defined(__x86_64) && defined(__ILP32__))))
18    register FXptr ret=(void*)v;
19    __asm__ __volatile__ ("lock\n\t"
20                          "xaddl %0, (%1)\n\t" : "=r"(ret) : "r"(ptr), "0"(ret) : "memory", "cc");
21 @@ -455,7 +455,7 @@
22    return (FXptr)_InterlockedCompareExchange64((LONGLONG*)ptr,(LONGLONG)v,(LONGLONG)expect);
23  #elif defined(WIN32) && (MSC_VER >=1500)
24    return (FXptr)_InterlockedCompareExchange((LONG*)ptr,(LONG)v,(LONG)expect);
25 -#elif (defined(HAVE_INLINE_ASSEMBLY) && defined(__i386__))
26 +#elif (defined(HAVE_INLINE_ASSEMBLY) && (defined(__i386__) || (defined(__x86_64) && defined(__ILP32__))))
27    register FXptr ret;
28    __asm__ __volatile__("lock\n\t"
29                         "cmpxchgl %2, (%1)\n\t" : "=a"(ret) : "r"(ptr), "r"(v), "a"(expect) : "memory", "cc");
30 @@ -483,7 +483,7 @@
31    return (_InterlockedCompareExchange64((LONGLONG*)ptr,(LONGLONG)v,(LONGLONG)expect)==(LONGLONG)expect);
32  #elif defined(WIN32) && (MSC_VER >=1500)
33    return (_InterlockedCompareExchange((LONG*)ptr,(LONG)v,(LONG)expect)==(LONG)expect);
34 -#elif (defined(HAVE_INLINE_ASSEMBLY) && defined(__i386__))
35 +#elif (defined(HAVE_INLINE_ASSEMBLY) && (defined(__i386__) || (defined(__x86_64) && defined(__ILP32__))))
36    register FXbool ret;
37    __asm__ __volatile__ ("lock\n\t"
38                          "cmpxchgl %2, (%1)\n\t"
This page took 0.035123 seconds and 3 git commands to generate.