[Pkg-libatomic-ops-commits] r6 - in trunk/debian: . patches
ianw at alioth.debian.org
ianw at alioth.debian.org
Fri Feb 1 00:11:07 UTC 2008
Author: ianw
Date: 2008-02-01 00:11:07 +0000 (Fri, 01 Feb 2008)
New Revision: 6
Added:
trunk/debian/patches/06_double.patch
Modified:
trunk/debian/changelog
Log:
fix #463390
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2007-11-04 08:02:24 UTC (rev 5)
+++ trunk/debian/changelog 2008-02-01 00:11:07 UTC (rev 6)
@@ -1,3 +1,10 @@
+libatomic-ops (1.2-4) unstable; urgency=low
+
+ * Closes: #463390 -- Add 06_double.patch to fix some issues with double
+ CAS defs. Patch by Jamey Sharp, thanks Jamey!
+
+ -- Ian Wienand <ianw at debian.org> Fri, 01 Feb 2008 11:09:33 +1100
+
libatomic-ops (1.2-3) unstable; urgency=low
* Closes: #449152 -- updated MIPS patch from Thiemo Seufer
Added: trunk/debian/patches/06_double.patch
===================================================================
--- trunk/debian/patches/06_double.patch (rev 0)
+++ trunk/debian/patches/06_double.patch 2008-02-01 00:11:07 UTC (rev 6)
@@ -0,0 +1,40 @@
+I noticed what looked like two bugs related to compare-and-swap on
+AO_double_t. First, gcc/x86.h declares
+ AO_compare_double_and_swap_double_full
+but sets
+ AO_HAVE_double_compare_and_swap_full
+As I understand it, those should match.
+
+Second, the prototype for AO_compare_and_swap_double_acquire in
+generalize.h doesn't match the call it makes to
+AO_compare_and_swap_double, which seems like probably a bug.
+
+Patch attached for both issues.
+
+Jamey Sharp <sharpone at debian.org>
+
+diff --git a/src/atomic_ops/generalize.h b/src/atomic_ops/generalize.h
+index 0f42b32..35d1b42 100644
+--- a/src/atomic_ops/generalize.h
++++ b/src/atomic_ops/generalize.h
+@@ -1180,7 +1180,7 @@
+ && !defined(AO_HAVE_compare_and_swap_double_acquire)
+ AO_INLINE int
+ AO_compare_and_swap_double_acquire(volatile AO_double_t *addr,
+- AO_t o1, AO_t o2,
++ AO_t o1,
+ AO_t n1, AO_t n2)
+ {
+ int result = AO_compare_and_swap_double(addr, o1, n1, n2);
+diff --git a/src/atomic_ops/sysdeps/gcc/x86.h b/src/atomic_ops/sysdeps/gcc/x86.h
+index 27e047e..5c1805d 100644
+--- a/src/atomic_ops/sysdeps/gcc/x86.h
++++ b/src/atomic_ops/sysdeps/gcc/x86.h
+@@ -148,6 +148,6 @@ AO_compare_double_and_swap_double_full(volatile AO_double_t *addr,
+ return (int) result;
+ }
+
+-#define AO_HAVE_double_compare_and_swap_full
++#define AO_HAVE_compare_double_and_swap_double_full
+
+ #include "../ao_t_is_int.h"
More information about the Pkg-libatomic-ops-commits
mailing list