[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: gnu: python-2: Restore python-libffi-mips-n32-fix.patch.
From: |
Mark H. Weaver |
Subject: |
01/01: gnu: python-2: Restore python-libffi-mips-n32-fix.patch. |
Date: |
Thu, 09 Apr 2015 22:59:23 +0000 |
mhw pushed a commit to branch core-updates
in repository guix.
commit 7934c8cfee2fbab202939d9d4ba0a8b6bb7dd7dc
Author: Mark H Weaver <address@hidden>
Date: Thu Apr 9 18:57:52 2015 -0400
gnu: python-2: Restore python-libffi-mips-n32-fix.patch.
This patch was removed in 08c045091e8d8da3b4c677540ed577e8f2448b0d,
but it's still needed for python-2.
* gnu/packages/patches/python-libffi-mips-n32-fix.patch: Restore it.
* gnu-system.am (dist_patch_DATA): Add it back.
---
gnu-system.am | 1 +
.../patches/python-libffi-mips-n32-fix.patch | 21 ++++++++++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/gnu-system.am b/gnu-system.am
index 3c0315e..969a911 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -510,6 +510,7 @@ dist_patch_DATA =
\
gnu/packages/patches/pybugz-stty.patch \
gnu/packages/patches/pyqt-configure.patch \
gnu/packages/patches/python-fix-tests.patch \
+ gnu/packages/patches/python-libffi-mips-n32-fix.patch \
gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \
gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \
diff --git a/gnu/packages/patches/python-libffi-mips-n32-fix.patch
b/gnu/packages/patches/python-libffi-mips-n32-fix.patch
new file mode 100644
index 0000000..3938837
--- /dev/null
+++ b/gnu/packages/patches/python-libffi-mips-n32-fix.patch
@@ -0,0 +1,21 @@
+Fix handling of uint32_t arguments on the MIPS N32 ABI.
+
+Patch by Mark H Weaver <address@hidden>.
+
+--- Modules/_ctypes/libffi/src/mips/ffi.c.orig 2013-03-16 07:19:39.000000000
-0400
++++ Modules/_ctypes/libffi/src/mips/ffi.c 2013-10-22 01:11:03.111985247
-0400
+@@ -170,7 +170,14 @@
+ break;
+
+ case FFI_TYPE_UINT32:
++#ifdef FFI_MIPS_N32
++ /* The N32 ABI requires that 32-bit integers
++ be sign-extended to 64-bits, regardless of
++ whether they are signed or unsigned. */
++ *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
++#else
+ *(ffi_arg *)argp = *(UINT32 *)(* p_argv);
++#endif
+ break;
+
+ /* This can only happen with 64bit slots. */