diff options
author | Mark H Weaver <mhw@netris.org> | 2015-04-09 18:57:52 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2015-04-09 18:57:52 -0400 |
commit | 7934c8cfee2fbab202939d9d4ba0a8b6bb7dd7dc (patch) | |
tree | 6f72f4a25fa1b211da9ccad811de35b29f2dfe40 | |
parent | 08c045091e8d8da3b4c677540ed577e8f2448b0d (diff) | |
download | guix-7934c8cfee2fbab202939d9d4ba0a8b6bb7dd7dc.tar guix-7934c8cfee2fbab202939d9d4ba0a8b6bb7dd7dc.tar.gz |
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.
-rw-r--r-- | gnu-system.am | 1 | ||||
-rw-r--r-- | gnu/packages/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 3c0315e306..969a9116f0 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 0000000000..393883779d --- /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 <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. */ |