Commit be723d1e by Richard Henderson Committed by Richard Henderson

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
parent 6eb61481
2015-01-12 Richard Henderson <rth@redhat.com> 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. * src/x86/ffi.c (ffi_raw_call): Fill in frame.
2015-01-12 Richard Henderson <rth@redhat.com> 2015-01-12 Richard Henderson <rth@redhat.com>
......
...@@ -50,7 +50,8 @@ ...@@ -50,7 +50,8 @@
#endif #endif
#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION #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 #define FFI_TARGET_HAS_COMPLEX_TYPE
#endif #endif
...@@ -84,7 +85,7 @@ typedef enum ffi_abi { ...@@ -84,7 +85,7 @@ typedef enum ffi_abi {
FFI_LAST_ABI, FFI_LAST_ABI,
FFI_DEFAULT_ABI = FFI_WIN64 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_FIRST_ABI = 1,
FFI_UNIX64, FFI_UNIX64,
FFI_LAST_ABI, FFI_LAST_ABI,
...@@ -119,15 +120,17 @@ typedef enum ffi_abi { ...@@ -119,15 +120,17 @@ typedef enum ffi_abi {
/* ---- Definitions for closures ----------------------------------------- */ /* ---- Definitions for closures ----------------------------------------- */
#define FFI_CLOSURES 1 #define FFI_CLOSURES 1
#if !defined(X86_DARWIN) && !defined(X86_64_DARWIN)
#define FFI_GO_CLOSURES 1 #define FFI_GO_CLOSURES 1
#endif
#define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1) #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_2B (FFI_TYPE_LAST + 2)
#define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3) #define FFI_TYPE_SMALL_STRUCT_4B (FFI_TYPE_LAST + 3)
#define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4) #define FFI_TYPE_MS_STRUCT (FFI_TYPE_LAST + 4)
#if defined (X86_64) || defined(X86_WIN64) \ #if defined (X86_64) || defined(X86_WIN64) || defined(X86_64_DARWIN)
|| (defined (__x86_64__) && defined (X86_DARWIN))
# define FFI_TRAMPOLINE_SIZE 24 # define FFI_TRAMPOLINE_SIZE 24
# define FFI_NATIVE_RAW_API 0 # define FFI_NATIVE_RAW_API 0
#else #else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment