diff options
author | Andreas Tobler <toa@pop.agri.ch> | 2002-03-07 19:24:42 +0100 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2002-03-07 13:24:42 -0500 |
commit | 073ae293d97f76c66767fdce57f6f6e3ef58b612 (patch) | |
tree | 2067fd3b0161aebe36726eaf4d9574b16aa6c1d3 /libffi/include | |
parent | fcf742eac8e28d8867e19a17fa21999c300166db (diff) | |
download | gcc-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.in | 22 |
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 |