aboutsummaryrefslogtreecommitdiff
path: root/libffi/include
diff options
context:
space:
mode:
authorAndreas Tobler <toa@pop.agri.ch>2002-03-07 19:24:42 +0100
committerDavid Edelsohn <dje@gcc.gnu.org>2002-03-07 13:24:42 -0500
commit073ae293d97f76c66767fdce57f6f6e3ef58b612 (patch)
tree2067fd3b0161aebe36726eaf4d9574b16aa6c1d3 /libffi/include
parentfcf742eac8e28d8867e19a17fa21999c300166db (diff)
downloadgcc-073ae293d97f76c66767fdce57f6f6e3ef58b612.zip
gcc-073ae293d97f76c66767fdce57f6f6e3ef58b612.tar.gz
gcc-073ae293d97f76c66767fdce57f6f6e3ef58b612.tar.bz2
Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
2002-03-07 Andreas Tobler <toa@pop.agri.ch> David Edelsohn <edelsohn@gnu.org> * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files. (TARGET_SRC_POWERPC_AIX): Add aix_closure.S. (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S. * Makefile.in: Regenerate. * include/ffi.h.in: Add AIX and Darwin closure definitions. * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function. (flush_icache, flush_range): New functions. (ffi_closure_helper_DARWIN): New function. * src/powerpc/aix_closure.S: New file. * src/powerpc/darwin_closure.S: New file. Co-Authored-By: David Edelsohn <edelsohn@gnu.org> From-SVN: r50408
Diffstat (limited to 'libffi/include')
-rw-r--r--libffi/include/ffi.h.in22
1 files changed, 22 insertions, 0 deletions
diff --git a/libffi/include/ffi.h.in b/libffi/include/ffi.h.in
index 90ed269..8097917 100644
--- a/libffi/include/ffi.h.in
+++ b/libffi/include/ffi.h.in
@@ -412,6 +412,18 @@ struct ffi_ia64_trampoline_struct {
#define FFI_TRAMPOLINE_SIZE 40
#define FFI_NATIVE_RAW_API 0
+#elif defined(POWERPC_DARWIN)
+
+#define FFI_CLOSURES 1
+#define FFI_TRAMPOLINE_SIZE 40
+#define FFI_NATIVE_RAW_API 0
+
+#elif defined(POWERPC_AIX)
+
+#define FFI_CLOSURES 1
+#define FFI_TRAMPOLINE_SIZE 24 /* see struct below */
+#define FFI_NATIVE_RAW_API 0
+
#else
#define FFI_CLOSURES 0
@@ -419,6 +431,16 @@ struct ffi_ia64_trampoline_struct {
#endif
+#if defined(POWERPC_DARWIN) || defined(POWERPC_AIX)
+
+struct ffi_aix_trampoline_struct {
+ void * code_pointer; /* Pointer to ffi_closure_ASM */
+ void * toc; /* TOC */
+ void * static_chain; /* Pointer to closure */
+};
+
+#endif
+
#if FFI_CLOSURES