summaryrefslogtreecommitdiffstats
path: root/libffi/include/ffi.h.in
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-30 11:59:42 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2002-09-30 11:59:42 +0000
commite0aaecf37648f72bae57f746ef48f3d8cc32f48d (patch)
tree3f3009c6e05fa775a22de8c30178ef4f3c765709 /libffi/include/ffi.h.in
parent989e69d726ce1bdd61ae7482ec11bfb36050ef45 (diff)
downloadppe42-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.in16
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
OpenPOWER on IntegriCloud