aboutsummaryrefslogtreecommitdiff
path: root/libffi
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2015-01-13 07:29:47 -0800
committerRichard Henderson <rth@gcc.gnu.org>2015-01-13 07:29:47 -0800
commitbe723d1e73118cd0e20f66d21976290eb73f27fd (patch)
tree044b5c10096aaf0d3157cb5ec3cfa8491a190d54 /libffi
parent6eb6148159faeedddb457891d7f92c67d8532eaf (diff)
downloadgcc-be723d1e73118cd0e20f66d21976290eb73f27fd.zip
gcc-be723d1e73118cd0e20f66d21976290eb73f27fd.tar.gz
gcc-be723d1e73118cd0e20f66d21976290eb73f27fd.tar.bz2
re PR libffi/64572 (r219477 breaks bootstrap on x86_64 darwin)
PR libffi/64572 * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin. (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise. From-SVN: r219538
Diffstat (limited to 'libffi')
-rw-r--r--libffi/ChangeLog6
-rw-r--r--libffi/src/x86/ffitarget.h11
2 files changed, 13 insertions, 4 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 2ca6aac..cbdb173 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,5 +1,11 @@
2015-01-12 Richard Henderson <rth@redhat.com>
+ PR libffi/64572
+ * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin.
+ (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise.
+
+2015-01-12 Richard Henderson <rth@redhat.com>
+
* src/x86/ffi.c (ffi_raw_call): Fill in frame.
2015-01-12 Richard Henderson <rth@redhat.com>
diff --git a/libffi/src/x86/ffitarget.h b/libffi/src/x86/ffitarget.h
index 8c1dcac..a576961 100644
--- a/libffi/src/x86/ffitarget.h
+++ b/libffi/src/x86/ffitarget.h
@@ -50,7 +50,8 @@
#endif
#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
-#ifndef _MSC_VER
+
+#if !defined(_MSC_VER) && !defined(X86_DARWIN) && !defined(X86_64_DARWIN)
#define FFI_TARGET_HAS_COMPLEX_TYPE
#endif
@@ -84,7 +85,7 @@ typedef enum ffi_abi {
FFI_LAST_ABI,
FFI_DEFAULT_ABI = FFI_WIN64
-#elif defined(X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
+#elif defined(X86_64) || defined(X86_64_DARWIN)
FFI_FIRST_ABI = 1,
FFI_UNIX64,
FFI_LAST_ABI,
@@ -119,15 +120,17 @@ typedef enum ffi_abi {
/* ---- Definitions for closures ----------------------------------------- */
#define FFI_CLOSURES 1
+
+#if !defined(X86_DARWIN) && !defined(X86_64_DARWIN)
#define FFI_GO_CLOSURES 1
+#endif
#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
#define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
-#if defined (X86_64) || defined(X86_WIN64) \
- || (defined (__x86_64__) && defined (X86_DARWIN))
+#if defined (X86_64) || defined(X86_WIN64) || defined(X86_64_DARWIN)
# define FFI_TRAMPOLINE_SIZE 24
# define FFI_NATIVE_RAW_API 0
#else