[SCM] Multiplatform 3D Game Development Kit branch, master, updated. debian/1.2.1-1-5-gf37fbcb
Gonéri Le Bouder
goneri at rulezlan.org
Wed Jul 8 19:02:17 UTC 2009
The following commit has been merged in the master branch:
commit f37fbcb3ff430d317471f77cfbb67286a5e3b859
Author: Gonéri Le Bouder <goneri at rulezlan.org>
Date: Wed Jul 8 20:58:34 2009 +0200
use g_atomic_pointer_compare_and_exchange() code
diff --git a/debian/patches/sparc_defined_prev_in_CompareAndSet.diff b/debian/patches/sparc_defined_prev_in_CompareAndSet.diff
index 4fea676..eb07d23 100644
--- a/debian/patches/sparc_defined_prev_in_CompareAndSet.diff
+++ b/debian/patches/sparc_defined_prev_in_CompareAndSet.diff
@@ -1,13 +1,30 @@
-diff --git a/CS/include/csutil/threading/atomicops_sparc.h b/CS/include/csutil/threading/atomicops_sparc.h
-index de1d216..323a18c 100644
---- a/CS/include/csutil/threading/atomicops_sparc.h
-+++ b/CS/include/csutil/threading/atomicops_sparc.h
-@@ -47,7 +47,7 @@ namespace Threading
+Index: crystalspace/CS/include/csutil/threading/atomicops_sparc.h
+===================================================================
+--- crystalspace.orig/CS/include/csutil/threading/atomicops_sparc.h 2009-07-07 23:58:23.000000000 +0200
++++ crystalspace/CS/include/csutil/threading/atomicops_sparc.h 2009-07-08 20:58:02.000000000 +0200
+@@ -47,16 +47,17 @@
inline static int32 CompareAndSet (int32* target, int32 value,
int32 comparand)
{
- int32 prev;
-+ int32 prev = *target;
++ int32_t prev;
- __asm__ __volatile__
- (
+- __asm__ __volatile__
+- (
+- "cas [%1],%2,%0"
+- : "+r" (value)
+- : "r" (target), "r" (comparand)
+- );
++ //Based on g_atomic_pointer_compare_and_exchange() from
++ // glib 2.9.0
++ __asm__ __volatile__
++ ("cas [%4], %2, %0"
++ : "=r" (prev), "=m" (*target)
++ : "r" (value), "m" (target), "r" (target),
++ "0" (value));
+
+- return prev;
++ return prev;
+ }
+
+ inline static void* CompareAndSet (void** target, void* value,
--
Multiplatform 3D Game Development Kit
More information about the Pkg-games-commits
mailing list