diff options
author | jklos <jklos> | 2010-07-22 04:17:44 +0000 |
---|---|---|
committer | jklos <jklos> | 2010-07-22 04:17:44 +0000 |
commit | 93dd0bec8c67f9baf33179622d0616c27ec7eab3 (patch) | |
tree | 050ba182a3b9854b3049f6163e7ee571ccb60e4d /devel | |
parent | 3928cc6e49e8ab1c8f758e58a94d2b8c6e5dc012 (diff) | |
download | pkgsrc-93dd0bec8c67f9baf33179622d0616c27ec7eab3.tar.gz |
Correctly do cache flushing on m68k NetBSD. Fixes PR #43106.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/libffi/distinfo | 3 | ||||
-rw-r--r-- | devel/libffi/patches/patch-aj | 35 |
2 files changed, 37 insertions, 1 deletions
diff --git a/devel/libffi/distinfo b/devel/libffi/distinfo index 73c05be621d..bd68e55271a 100644 --- a/devel/libffi/distinfo +++ b/devel/libffi/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.16 2010/03/30 10:17:25 wiz Exp $ +$NetBSD: distinfo,v 1.17 2010/07/22 04:17:44 jklos Exp $ SHA1 (libffi-3.0.9.tar.gz) = 56e41f87780e09d06d279690e53d4ea2c371ea88 RMD160 (libffi-3.0.9.tar.gz) = 11ff9aeb62f4fbe1fecf09e6f9814a72bfedb37a @@ -12,3 +12,4 @@ SHA1 (patch-af) = 953646a2eb653fe2ebfabe369f397d39c4c398b2 SHA1 (patch-ag) = 6333317170f6e92f89db966315276dcd8e3484f2 SHA1 (patch-ah) = e9580069ede90cd616da7bc230b28acbf5d204a6 SHA1 (patch-ai) = f85a6cb64d4a9d7c3e56b47b7092fce10a744b5b +SHA1 (patch-aj) = cd8369bef0149ed044ef16c0eae7b537b4090f1f diff --git a/devel/libffi/patches/patch-aj b/devel/libffi/patches/patch-aj new file mode 100644 index 00000000000..00c1caa5188 --- /dev/null +++ b/devel/libffi/patches/patch-aj @@ -0,0 +1,35 @@ +$NetBSD: patch-aj,v 1.3 2010/07/22 04:17:44 jklos Exp $ + +--- src/m68k/ffi.c.orig 2009-12-29 15:22:26.000000000 +0000 ++++ src/m68k/ffi.c +@@ -9,8 +9,13 @@ + + #include <stdlib.h> + #include <unistd.h> +-#include <sys/syscall.h> +-#include <asm/cachectl.h> ++#if !defined(__NetBSD__) ++ #include <sys/syscall.h> ++ #include <asm/cachectl.h> ++#else ++ #include <sys/types.h> ++ #include <m68k/sync_icache.h> ++#endif + + void ffi_call_SYSV (extended_cif *, + unsigned, unsigned, +@@ -266,8 +271,12 @@ ffi_prep_closure_loc (ffi_closure* closu + else + *(void **)(closure->tramp + 8) = ffi_closure_SYSV; + +- syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE, +- FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE); ++ #if !defined(__NetBSD__) ++ syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE, ++ FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE); ++ #else ++ m68k_sync_icache(codeloc, FFI_TRAMPOLINE_SIZE); ++ #endif + + closure->cif = cif; + closure->user_data = user_data; |