summaryrefslogtreecommitdiff
path: root/devel/libffi/patches/patch-aj
blob: b9a2a25101ccd21c2416efebfb63cdbf101bbaf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$NetBSD: patch-aj,v 1.4 2012/09/14 23:45:27 asau Exp $

--- src/m68k/ffi.c.orig	2012-04-12 02:46:06.000000000 +0000
+++ src/m68k/ffi.c
@@ -9,8 +9,11 @@
 
 #include <stdlib.h>
 #include <unistd.h>
-#ifdef __rtems__
+#if defined(__rtems__)
 void rtems_cache_flush_multiple_data_lines( const void *, size_t );
+#elif defined(__NetBSD__)
+#include <sys/types.h>
+#include <m68k/sync_icache.h>
 #else
 #include <sys/syscall.h>
 #ifdef __MINT__
@@ -335,8 +338,10 @@ ffi_prep_closure_loc (ffi_closure* closu
   else
     *(void **)(closure->tramp + 8) = ffi_closure_SYSV;
 
-#ifdef __rtems__
+#if defined(__rtems__)
   rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE );
+#elif defined(__NetBSD__)
+  m68k_sync_icache(codeloc, FFI_TRAMPOLINE_SIZE);
 #elif defined(__MINT__)
   Ssystem(S_FLUSHCACHE, codeloc, FFI_TRAMPOLINE_SIZE);
 #else