~ruther/guix-local

7934c8cfee2fbab202939d9d4ba0a8b6bb7dd7dc — Mark H Weaver 11 years ago 08c0450
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.
2 files changed, 22 insertions(+), 0 deletions(-)

M gnu-system.am
A gnu/packages/patches/python-libffi-mips-n32-fix.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 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	\

A gnu/packages/patches/python-libffi-mips-n32-fix.patch => gnu/packages/patches/python-libffi-mips-n32-fix.patch +21 -0
@@ 0,0 1,21 @@
Fix handling of uint32_t arguments on the MIPS N32 ABI.

Patch by Mark H Weaver <mhw@netris.org>.

--- 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.  */