aboutsummaryrefslogtreecommitdiff
path: root/libffi/include
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2002-09-30 11:59:42 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2002-09-30 11:59:42 +0000
commitc4f17c6f58d35c40b776b8cb0d9eb185f0a96538 (patch)
tree3f3009c6e05fa775a22de8c30178ef4f3c765709 /libffi/include
parentb93a0fe6baa4f264b89d45434962c0bd52cfaa4b (diff)
downloadgcc-c4f17c6f58d35c40b776b8cb0d9eb185f0a96538.zip
gcc-c4f17c6f58d35c40b776b8cb0d9eb185f0a96538.tar.gz
gcc-c4f17c6f58d35c40b776b8cb0d9eb185f0a96538.tar.bz2
configure.in: Add s390x-*-linux-* target.
* 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. From-SVN: r57646
Diffstat (limited to 'libffi/include')
-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 7cb1aa6..70a7842 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