diff options
author | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-07 18:24:42 +0000 |
---|---|---|
committer | dje <dje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-07 18:24:42 +0000 |
commit | f6a16bd8ad4ac0b9377cf76034622e8cc97498a3 (patch) | |
tree | 2067fd3b0161aebe36726eaf4d9574b16aa6c1d3 /libffi/include | |
parent | 2bb9f7ed4a54e86b1c521976b69aab71b0e868fc (diff) | |
download | gcc-f6a16bd8ad4ac0b9377cf76034622e8cc97498a3.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50408 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/include')
-rw-r--r-- | libffi/include/ffi.h.in | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libffi/include/ffi.h.in b/libffi/include/ffi.h.in index 90ed2692305..8097917fe10 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 |