diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-30 11:59:42 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-09-30 11:59:42 +0000 |
commit | e0aaecf37648f72bae57f746ef48f3d8cc32f48d (patch) | |
tree | 3f3009c6e05fa775a22de8c30178ef4f3c765709 /libffi/include/ffi.h.in | |
parent | 989e69d726ce1bdd61ae7482ec11bfb36050ef45 (diff) | |
download | ppe42-gcc-e0aaecf37648f72bae57f746ef48f3d8cc32f48d.tar.gz ppe42-gcc-e0aaecf37648f72bae57f746ef48f3d8cc32f48d.zip |
* configure.in: Add s390x-*-linux-* target.
* configure: Regenerate.
* include/ffi.h.in: Define S390X for s390x targets.
(FFI_CLOSURES): Define for s390/s390x.
(FFI_TRAMPOLINE_SIZE): Likewise.
(FFI_NATIVE_RAW_API): Likewise.
* src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
* src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
* src/s390/ffi.c: Major rework of existing code. Add support for
s390x targets. Add closure support.
* src/s390/sysv.S: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57646 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/include/ffi.h.in')
-rw-r--r-- | libffi/include/ffi.h.in | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libffi/include/ffi.h.in b/libffi/include/ffi.h.in index 7cb1aa652fc..70a784226b1 100644 --- a/libffi/include/ffi.h.in +++ b/libffi/include/ffi.h.in @@ -164,6 +164,12 @@ extern "C" { #endif #endif +#ifdef S390 +#if defined (__s390x__) +#define S390X +#endif +#endif + #ifndef LIBFFI_ASM /* ---- Generic type definitions ----------------------------------------- */ @@ -435,6 +441,16 @@ struct ffi_ia64_trampoline_struct { #define FFI_TRAMPOLINE_SIZE 24 /* see struct below */ #define FFI_NATIVE_RAW_API 0 +#elif defined(S390) + +#define FFI_CLOSURES 1 +#ifdef S390X +#define FFI_TRAMPOLINE_SIZE 32 +#else +#define FFI_TRAMPOLINE_SIZE 16 +#endif +#define FFI_NATIVE_RAW_API 0 + #elif defined(SH) #define FFI_CLOSURES 1 |