diff options
author | Kubilay Kocak <koobs@FreeBSD.org> | 2013-12-08 06:22:07 +0000 |
---|---|---|
committer | Kubilay Kocak <koobs@FreeBSD.org> | 2013-12-08 06:22:07 +0000 |
commit | d536d1d88b8a10edd67366a4f34510a67d906962 (patch) | |
tree | 8f180a543f860576dcca1eaa4a2ae751bb0cc7c3 /lang/python33 | |
parent | 1ba8ce37781c1622a30e00ca5c0e1538482032ab (diff) | |
download | ports-d536d1d88b8a10edd67366a4f34510a67d906962.tar.gz ports-d536d1d88b8a10edd67366a4f34510a67d906962.zip |
Notes
Diffstat (limited to 'lang/python33')
-rw-r--r-- | lang/python33/files/patch-Modules___ctypes__libffi__src__arm__ffi.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lang/python33/files/patch-Modules___ctypes__libffi__src__arm__ffi.c b/lang/python33/files/patch-Modules___ctypes__libffi__src__arm__ffi.c new file mode 100644 index 000000000000..56e434277fe8 --- /dev/null +++ b/lang/python33/files/patch-Modules___ctypes__libffi__src__arm__ffi.c @@ -0,0 +1,36 @@ +# Description: Fix _ctypes abort on import for FreeBSD/ARM. This is an issue +# for anything !apple that is using the libcompiler_rt provided by clang on arm +# PR: ports/149167 ports/184517 +# Patch by: cognet@ (to be upstreamed @ LLVM) + +--- ./Modules/_ctypes/libffi/src/arm/ffi.c.orig 2013-11-17 18:22:57.000000000 +1100 ++++ ./Modules/_ctypes/libffi/src/arm/ffi.c 2013-12-03 19:23:24.521993369 +1100 +@@ -33,6 +33,11 @@ + + #include <stdlib.h> + ++#if defined(__FreeBSD__) && defined(__arm__) ++#include <sys/types.h> ++#include <machine/sysarch.h> ++#endif ++ + /* Forward declares. */ + static int vfp_type_p (ffi_type *); + static void layout_vfp_args (ffi_cif *); +@@ -582,6 +587,16 @@ + + #else + ++#if defined(__FreeBSD__) && defined(__arm__) ++#define __clear_cache(start, end) do { \ ++ struct arm_sync_icache_args ua; \ ++ \ ++ ua.addr = (uintptr_t)(start); \ ++ ua.len = (char *)(end) - (char *)start; \ ++ sysarch(ARM_SYNC_ICACHE, &ua); \ ++ } while (0); ++#endif ++ + #define FFI_INIT_TRAMPOLINE(TRAMP,FUN,CTX) \ + ({ unsigned char *__tramp = (unsigned char*)(TRAMP); \ + unsigned int __fun = (unsigned int)(FUN); \ |