summaryrefslogtreecommitdiff
path: root/devel/apr/patches
diff options
context:
space:
mode:
authoralnsn <alnsn>2011-11-19 21:16:22 +0000
committeralnsn <alnsn>2011-11-19 21:16:22 +0000
commite062db7cb80d3c18ce753773bfa2d2b4ac7b1b94 (patch)
tree8c0563034af5603c9e46bc9d0334fa2ba157183e /devel/apr/patches
parent93897f561e72690daa1472f1470c62f5ddc10ecc (diff)
downloadpkgsrc-e062db7cb80d3c18ce753773bfa2d2b4ac7b1b94.tar.gz
Add patches from upstream bug #51851.
https://issues.apache.org/bugzilla/show_bug.cgi?id=51851
Diffstat (limited to 'devel/apr/patches')
-rw-r--r--devel/apr/patches/patch-atomic_unix_ia32.c14
-rw-r--r--devel/apr/patches/patch-test_testatomic.c20
2 files changed, 34 insertions, 0 deletions
diff --git a/devel/apr/patches/patch-atomic_unix_ia32.c b/devel/apr/patches/patch-atomic_unix_ia32.c
new file mode 100644
index 00000000000..e19af42b4a3
--- /dev/null
+++ b/devel/apr/patches/patch-atomic_unix_ia32.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-atomic_unix_ia32.c,v 1.1 2011/11/19 21:16:22 alnsn Exp $
+https://issues.apache.org/bugzilla/show_bug.cgi?id=51851
+
+--- atomic/unix/ia32.c.orig 2007-08-26 19:50:26.000000000 +0000
++++ atomic/unix/ia32.c
+@@ -117,7 +117,7 @@ APR_DECLARE(void*) apr_atomic_xchgptr(vo
+ #elif APR_SIZEOF_VOIDP == 8
+ asm volatile ("xchgq %q2, %1"
+ : "=a" (prev), "+m" (*mem)
+- : "r" ((unsigned long)with));
++ : "0" ((unsigned long)with));
+ #else
+ #error APR_SIZEOF_VOIDP value not supported
+ #endif
diff --git a/devel/apr/patches/patch-test_testatomic.c b/devel/apr/patches/patch-test_testatomic.c
new file mode 100644
index 00000000000..32c9af2ba8e
--- /dev/null
+++ b/devel/apr/patches/patch-test_testatomic.c
@@ -0,0 +1,20 @@
+$NetBSD: patch-test_testatomic.c,v 1.1 2011/11/19 21:16:22 alnsn Exp $
+https://issues.apache.org/bugzilla/show_bug.cgi?id=51851
+
+--- test/testatomic.c.orig 2007-11-18 00:35:57.000000000 +0000
++++ test/testatomic.c
+@@ -84,11 +84,12 @@ static void test_xchg32(abts_case *tc, v
+ static void test_xchgptr(abts_case *tc, void *data)
+ {
+ int a;
+- volatile void *target_ptr = NULL;
++ void *ref = "little piggy";
++ volatile void *target_ptr = ref;
+ void *old_ptr;
+
+ old_ptr = apr_atomic_xchgptr(&target_ptr, &a);
+- ABTS_PTR_EQUAL(tc, NULL, old_ptr);
++ ABTS_PTR_EQUAL(tc, ref, old_ptr);
+ ABTS_PTR_EQUAL(tc, &a, (void *) target_ptr);
+ }
+