mirror of
https://github.com/partic2/libffi
synced 2026-11-10 18:17:19 +00:00
Fix bad_abi test. rc5.
This commit is contained in:
@@ -0,0 +1,286 @@
|
||||
Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -1,3 +1,20 @@
|
||||
+2011-02-13 Anthony Green <green@moxielogic.com>
|
||||
+
|
||||
+ * include/ffi_common.h (UNLIKELY, LIKELY): Define.
|
||||
+ * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
|
||||
+ * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
|
||||
+
|
||||
+ * src/prep_cif.c (initialize_aggregate): Convert assertion into
|
||||
+ FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
|
||||
+
|
||||
+ * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
|
||||
+ just return FFI_BAD_ABI when things are wrong.
|
||||
+ * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
|
||||
+ * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
|
||||
+ * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
|
||||
+ * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
|
||||
+ * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
|
||||
+
|
||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||
|
||||
* libtool-version: Update.
|
||||
Index: libffi/include/ffi_common.h
|
||||
===================================================================
|
||||
--- libffi.orig/include/ffi_common.h
|
||||
+++ libffi/include/ffi_common.h
|
||||
@@ -1,7 +1,8 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi_common.h - Copyright (c) 1996 Red Hat, Inc.
|
||||
- Copyright (C) 2007 Free Software Foundation, Inc
|
||||
-
|
||||
+ ffi_common.h - Copyright (C) 2011 Anthony Green
|
||||
+ Copyright (C) 2007 Free Software Foundation, Inc
|
||||
+ Copyright (c) 1996 Red Hat, Inc.
|
||||
+
|
||||
Common internal definitions and macros. Only necessary for building
|
||||
libffi.
|
||||
----------------------------------------------------------------------- */
|
||||
@@ -112,11 +113,14 @@ typedef signed int SINT64 __attribute_
|
||||
|
||||
typedef float FLOAT32;
|
||||
|
||||
+#ifndef __GNUC__
|
||||
+#define __builtin_expect(x, expected_value) (x)
|
||||
+#endif
|
||||
+#define LIKELY(x) __builtin_expect((x),1)
|
||||
+#define UNLIKELY(x) __builtin_expect((x),1)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
-
|
||||
-
|
||||
Index: libffi/src/arm/ffi.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/arm/ffi.c
|
||||
+++ libffi/src/arm/ffi.c
|
||||
@@ -1,7 +1,9 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi.c - Copyright (c) 1998, 2008, 2011 Red Hat, Inc.
|
||||
- Copyright (c) 2011 Plausible Labs Cooperative, Inc.
|
||||
-
|
||||
+ ffi.c - Copyright (c) 2011 Plausible Labs Cooperative, Inc.
|
||||
+ Copyright (c) 2011 Anthony Green
|
||||
+ Copyright (c) 2011 Free Software Foundation
|
||||
+ Copyright (c) 1998, 2008, 2011 Red Hat, Inc.
|
||||
+
|
||||
ARM Foreign Function Interface
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
@@ -582,7 +584,7 @@ ffi_prep_closure_loc (ffi_closure* closu
|
||||
else if (cif->abi == FFI_VFP)
|
||||
closure_func = &ffi_closure_VFP;
|
||||
else
|
||||
- FFI_ASSERT (0);
|
||||
+ return FFI_BAD_ABI;
|
||||
|
||||
#if FFI_EXEC_TRAMPOLINE_TABLE
|
||||
void **config = FFI_TRAMPOLINE_CODELOC_CONFIG(codeloc);
|
||||
Index: libffi/src/avr32/ffi.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/avr32/ffi.c
|
||||
+++ libffi/src/avr32/ffi.c
|
||||
@@ -1,5 +1,6 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi.c - Copyright (c) 2009 Bradley Smith <brad@brad-smith.co.uk>
|
||||
+ ffi.c - Copyright (c) 2011 Anthony Green
|
||||
+ Copyright (c) 2009 Bradley Smith <brad@brad-smith.co.uk>
|
||||
|
||||
AVR32 Foreign Function Interface
|
||||
|
||||
@@ -394,7 +395,8 @@ ffi_status ffi_prep_closure_loc(ffi_clos
|
||||
void (*fun)(ffi_cif*, void*, void**, void*), void *user_data,
|
||||
void *codeloc)
|
||||
{
|
||||
- FFI_ASSERT(cif->abi == FFI_SYSV);
|
||||
+ if (cif->abi != FFI_SYSV)
|
||||
+ return FFI_BAD_ABI;
|
||||
|
||||
unsigned char *__tramp = (unsigned char*)(&closure->tramp[0]);
|
||||
unsigned int __fun = (unsigned int)(&ffi_closure_SYSV);
|
||||
Index: libffi/src/ia64/ffi.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/ia64/ffi.c
|
||||
+++ libffi/src/ia64/ffi.c
|
||||
@@ -1,7 +1,8 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi.c - Copyright (c) 1998, 2007, 2008 Red Hat, Inc.
|
||||
- Copyright (c) 2000 Hewlett Packard Company
|
||||
-
|
||||
+ ffi.c - Copyright (c) 2011 Anthony Green
|
||||
+ Copyright (c) 2000 Hewlett Packard Company
|
||||
+ Copyright (c) 1998, 2007, 2008 Red Hat, Inc.
|
||||
+
|
||||
IA64 Foreign Function Interface
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
@@ -425,7 +426,8 @@ ffi_prep_closure_loc (ffi_closure* closu
|
||||
struct ffi_ia64_trampoline_struct *tramp;
|
||||
struct ia64_fd *fd;
|
||||
|
||||
- FFI_ASSERT (cif->abi == FFI_UNIX);
|
||||
+ if (cif->abi != FFI_UNIX)
|
||||
+ return FFI_BAD_ABI;
|
||||
|
||||
tramp = (struct ffi_ia64_trampoline_struct *)closure->tramp;
|
||||
fd = (struct ia64_fd *)(void *)ffi_closure_unix;
|
||||
Index: libffi/src/mips/ffi.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/mips/ffi.c
|
||||
+++ libffi/src/mips/ffi.c
|
||||
@@ -1,6 +1,7 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi.c - Copyright (c) 1996, 2007, 2008 Red Hat, Inc.
|
||||
- Copyright (c) 2008 David Daney
|
||||
+ ffi.c - Copyright (c) 2011 Anthony Green
|
||||
+ Copyright (c) 2008 David Daney
|
||||
+ Copyright (c) 1996, 2007, 2008, 2011 Red Hat, Inc.
|
||||
|
||||
MIPS Foreign Function Interface
|
||||
|
||||
@@ -662,10 +663,12 @@ ffi_prep_closure_loc (ffi_closure *closu
|
||||
char *clear_location = (char *) codeloc;
|
||||
|
||||
#if defined(FFI_MIPS_O32)
|
||||
- FFI_ASSERT(cif->abi == FFI_O32 || cif->abi == FFI_O32_SOFT_FLOAT);
|
||||
+ if (cif->abi != FFI_O32 && cif->abi != FFI_O32_SOFT_FLOAT)
|
||||
+ return FFI_BAD_ABI;
|
||||
fn = ffi_closure_O32;
|
||||
#else /* FFI_MIPS_N32 */
|
||||
- FFI_ASSERT(cif->abi == FFI_N32 || cif->abi == FFI_N64);
|
||||
+ if (cif->abi != FFI_N32 && cif->abi != FFI_N64)
|
||||
+ return FFI_BAD_ABI;
|
||||
fn = ffi_closure_N32;
|
||||
#endif /* FFI_MIPS_O32 */
|
||||
|
||||
Index: libffi/src/pa/ffi.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/pa/ffi.c
|
||||
+++ libffi/src/pa/ffi.c
|
||||
@@ -1,9 +1,11 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi.c - (c) 2003-2004 Randolph Chung <tausq@debian.org>
|
||||
+ ffi.c - (c) 2011 Anthony Green
|
||||
(c) 2008 Red Hat, Inc.
|
||||
-
|
||||
+ (c) 2006 Free Software Foundation, Inc.
|
||||
+ (c) 2003-2004 Randolph Chung <tausq@debian.org>
|
||||
+
|
||||
HPPA Foreign Function Interface
|
||||
- HP-UX PA ABI support (c) 2006 Free Software Foundation, Inc.
|
||||
+ HP-UX PA ABI support
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
@@ -633,7 +635,8 @@ ffi_prep_closure_loc (ffi_closure* closu
|
||||
UINT32 *tmp;
|
||||
#endif
|
||||
|
||||
- FFI_ASSERT (cif->abi == FFI_PA32);
|
||||
+ if (cif->abi != FFI_PA32)
|
||||
+ return FFI_BAD_ABI;
|
||||
|
||||
/* Make a small trampoline that will branch to our
|
||||
handler function. Use PC-relative addressing. */
|
||||
Index: libffi/src/powerpc/ffi.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/powerpc/ffi.c
|
||||
+++ libffi/src/powerpc/ffi.c
|
||||
@@ -1,7 +1,8 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi.c - Copyright (c) 1998 Geoffrey Keating
|
||||
- Copyright (C) 2007, 2008 Free Software Foundation, Inc
|
||||
- Copyright (C) 2008 Red Hat, Inc
|
||||
+ ffi.c - Copyright (C) 2011 Anthony Green
|
||||
+ Copyright (C) 2008 Red Hat, Inc
|
||||
+ Copyright (C) 2007, 2008 Free Software Foundation, Inc
|
||||
+ Copyright (c) 1998 Geoffrey Keating
|
||||
|
||||
PowerPC Foreign Function Interface
|
||||
|
||||
@@ -949,14 +950,16 @@ ffi_prep_closure_loc (ffi_closure *closu
|
||||
#ifdef POWERPC64
|
||||
void **tramp = (void **) &closure->tramp[0];
|
||||
|
||||
- FFI_ASSERT (cif->abi == FFI_LINUX64);
|
||||
+ if (cif->abi != FFI_LINUX64)
|
||||
+ return FFI_BAD_ABI;
|
||||
/* Copy function address and TOC from ffi_closure_LINUX64. */
|
||||
memcpy (tramp, (char *) ffi_closure_LINUX64, 16);
|
||||
tramp[2] = codeloc;
|
||||
#else
|
||||
unsigned int *tramp;
|
||||
|
||||
- FFI_ASSERT (cif->abi == FFI_GCC_SYSV || cif->abi == FFI_SYSV);
|
||||
+ if (! (cif->abi == FFI_GCC_SYSV || cif->abi == FFI_SYSV))
|
||||
+ return FFI_BAD_ABI;
|
||||
|
||||
tramp = (unsigned int *) &closure->tramp[0];
|
||||
tramp[0] = 0x7c0802a6; /* mflr r0 */
|
||||
Index: libffi/src/prep_cif.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/prep_cif.c
|
||||
+++ libffi/src/prep_cif.c
|
||||
@@ -27,12 +27,6 @@
|
||||
#include <ffi_common.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
-#ifndef __GNUC__
|
||||
-#define __builtin_expect(x, expected_value) (x)
|
||||
-#endif
|
||||
-#define LIKELY(x) __builtin_expect((x),1)
|
||||
-#define UNLIKELY(x) __builtin_expect((x),1)
|
||||
-
|
||||
/* Round up to FFI_SIZEOF_ARG. */
|
||||
|
||||
#define STACK_ARG_SIZE(x) ALIGN(x, FFI_SIZEOF_ARG)
|
||||
@@ -44,11 +38,11 @@ static ffi_status initialize_aggregate(f
|
||||
{
|
||||
ffi_type **ptr;
|
||||
|
||||
- FFI_ASSERT(arg != NULL);
|
||||
+ if (UNLIKELY(arg == NULL || arg->elements == NULL))
|
||||
+ return FFI_BAD_TYPEDEF;
|
||||
|
||||
- FFI_ASSERT(arg->elements != NULL);
|
||||
- FFI_ASSERT(arg->size == 0);
|
||||
- FFI_ASSERT(arg->alignment == 0);
|
||||
+ arg->size = 0;
|
||||
+ arg->alignment = 0;
|
||||
|
||||
ptr = &(arg->elements[0]);
|
||||
|
||||
Index: libffi/src/x86/ffi64.c
|
||||
===================================================================
|
||||
--- libffi.orig/src/x86/ffi64.c
|
||||
+++ libffi/src/x86/ffi64.c
|
||||
@@ -1,7 +1,8 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
- ffi64.c - Copyright (c) 2002, 2007 Bo Thorsen <bo@suse.de>
|
||||
+ ffi64.c - Copyright (c) 20011 Anthony Green
|
||||
Copyright (c) 2008, 2010 Red Hat, Inc.
|
||||
-
|
||||
+ Copyright (c) 2002, 2007 Bo Thorsen <bo@suse.de>
|
||||
+
|
||||
x86-64 Foreign Function Interface
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
@@ -28,12 +29,6 @@
|
||||
#include <ffi.h>
|
||||
#include <ffi_common.h>
|
||||
|
||||
-#ifndef __GNUC__
|
||||
-#define __builtin_expect(x, expected_value) (x)
|
||||
-#endif
|
||||
-#define LIKELY(x) __builtin_expect((x),1)
|
||||
-#define UNLIKELY(x) __builtin_expect((x),1)
|
||||
-
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -43,7 +43,7 @@
|
||||
@@ -44,7 +44,7 @@
|
||||
* src/prep_cif.c (UNLIKELY, LIKELY): Define.
|
||||
(initialize_aggregate): Check for bad types.
|
||||
|
||||
|
||||
@@ -2,9 +2,10 @@ Index: libffi/ChangeLog
|
||||
===================================================================
|
||||
--- libffi.orig/ChangeLog
|
||||
+++ libffi/ChangeLog
|
||||
@@ -1,5 +1,13 @@
|
||||
@@ -1,5 +1,14 @@
|
||||
2011-02-11 Anthony Green <green@moxielogic.com>
|
||||
|
||||
+ * libtool-version: Update.
|
||||
+ * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
|
||||
+ FFI_DEBUG.
|
||||
+ (libffi_la_SOURCES): Remove src/debug.c
|
||||
@@ -278,3 +279,13 @@ Index: libffi/Makefile.in
|
||||
src/mips/$(am__dirstamp):
|
||||
@$(MKDIR_P) src/mips
|
||||
@: > src/mips/$(am__dirstamp)
|
||||
Index: libffi/libtool-version
|
||||
===================================================================
|
||||
--- libffi.orig/libtool-version
|
||||
+++ libffi/libtool-version
|
||||
@@ -26,4 +26,4 @@
|
||||
# release, then set age to 0.
|
||||
#
|
||||
# CURRENT:REVISION:AGE
|
||||
-5:10:0
|
||||
+6:0:0
|
||||
|
||||
@@ -21,3 +21,4 @@ sparc-abi-check
|
||||
remove-debug-code
|
||||
ungccify
|
||||
ios-fixes
|
||||
bad-abi-fix
|
||||
|
||||
+14
-13
@@ -4059,7 +4059,7 @@ Index: libffi/configure
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
-# Generated by GNU Autoconf 2.64 for libffi 3.0.9.
|
||||
+# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc4.
|
||||
+# Generated by GNU Autoconf 2.68 for libffi 3.0.10rc5.
|
||||
+#
|
||||
+# Report bugs to <http://sourceware.org/libffi.html>.
|
||||
#
|
||||
@@ -4169,8 +4169,8 @@ Index: libffi/configure
|
||||
-PACKAGE_VERSION='3.0.9'
|
||||
-PACKAGE_STRING='libffi 3.0.9'
|
||||
-PACKAGE_BUGREPORT='http://gcc.gnu.org/bugs.html'
|
||||
+PACKAGE_VERSION='3.0.10rc4'
|
||||
+PACKAGE_STRING='libffi 3.0.10rc4'
|
||||
+PACKAGE_VERSION='3.0.10rc5'
|
||||
+PACKAGE_STRING='libffi 3.0.10rc5'
|
||||
+PACKAGE_BUGREPORT='http://sourceware.org/libffi.html'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -4363,7 +4363,7 @@ Index: libffi/configure
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
-\`configure' configures libffi 3.0.9 to adapt to many kinds of systems.
|
||||
+\`configure' configures libffi 3.0.10rc4 to adapt to many kinds of systems.
|
||||
+\`configure' configures libffi 3.0.10rc5 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -4381,7 +4381,7 @@ Index: libffi/configure
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of libffi 3.0.9:";;
|
||||
+ short | recursive ) echo "Configuration of libffi 3.0.10rc4:";;
|
||||
+ short | recursive ) echo "Configuration of libffi 3.0.10rc5:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -4426,7 +4426,7 @@ Index: libffi/configure
|
||||
cat <<\_ACEOF
|
||||
-libffi configure 3.0.9
|
||||
-generated by GNU Autoconf 2.64
|
||||
+libffi configure 3.0.10rc4
|
||||
+libffi configure 3.0.10rc5
|
||||
+generated by GNU Autoconf 2.68
|
||||
|
||||
-Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
@@ -4649,7 +4649,7 @@ Index: libffi/configure
|
||||
|
||||
-It was created by libffi $as_me 3.0.9, which was
|
||||
-generated by GNU Autoconf 2.64. Invocation command line was
|
||||
+It was created by libffi $as_me 3.0.10rc4, which was
|
||||
+It was created by libffi $as_me 3.0.10rc5, which was
|
||||
+generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -5048,7 +5048,7 @@ Index: libffi/configure
|
||||
# Define the identity of the package.
|
||||
PACKAGE='libffi'
|
||||
- VERSION='3.0.9'
|
||||
+ VERSION='3.0.10rc4'
|
||||
+ VERSION='3.0.10rc5'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@@ -7920,7 +7920,7 @@ Index: libffi/configure
|
||||
ac_log="
|
||||
-This file was extended by libffi $as_me 3.0.9, which was
|
||||
-generated by GNU Autoconf 2.64. Invocation command line was
|
||||
+This file was extended by libffi $as_me 3.0.10rc4, which was
|
||||
+This file was extended by libffi $as_me 3.0.10rc5, which was
|
||||
+generated by GNU Autoconf 2.68. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -7947,7 +7947,7 @@ Index: libffi/configure
|
||||
-libffi config.status 3.0.9
|
||||
-configured by $0, generated by GNU Autoconf 2.64,
|
||||
- with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
+libffi config.status 3.0.10rc4
|
||||
+libffi config.status 3.0.10rc5
|
||||
+configured by $0, generated by GNU Autoconf 2.68,
|
||||
+ with options \\"\$ac_cs_config\\"
|
||||
|
||||
@@ -8977,7 +8977,7 @@ Index: libffi/configure.ac
|
||||
+AC_PREREQ(2.63)
|
||||
|
||||
-AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
|
||||
+AC_INIT([libffi], [3.0.10rc4], [http://sourceware.org/libffi.html])
|
||||
+AC_INIT([libffi], [3.0.10rc5], [http://sourceware.org/libffi.html])
|
||||
AC_CONFIG_HEADERS([fficonfig.h])
|
||||
|
||||
-AM_ENABLE_MULTILIB(, ..)
|
||||
@@ -28001,11 +28001,12 @@ Index: libffi/README
|
||||
|--------------+------------------|
|
||||
|
||||
Please send additional platform test results to
|
||||
@@ -136,10 +137,14 @@ History
|
||||
@@ -136,10 +137,15 @@ History
|
||||
See the ChangeLog files for details.
|
||||
|
||||
3.0.10 ???-??-??
|
||||
+ Add support for Apple's iOS.
|
||||
+ Add support for ARM VFP ABI.
|
||||
+ Add RTEMS support for MIPS and M68K.
|
||||
Fix the N64 build on mips-sgi-irix6.5.
|
||||
- Testsuite fixes for Tru64 Unix.
|
||||
@@ -28018,7 +28019,7 @@ Index: libffi/README
|
||||
|
||||
3.0.9 Dec-31-09
|
||||
Add AVR32 and win64 ports. Add ARM softfp support.
|
||||
@@ -320,5 +325,6 @@ Alex Oliva solved the executable page pr
|
||||
@@ -320,5 +326,6 @@ Alex Oliva solved the executable page pr
|
||||
The list above is almost certainly incomplete and inaccurate. I'm
|
||||
happy to make corrections or additions upon request.
|
||||
|
||||
|
||||
+65
-13
@@ -83,7 +83,17 @@ Index: libffi/configure
|
||||
===================================================================
|
||||
--- libffi.orig/configure
|
||||
+++ libffi/configure
|
||||
@@ -688,6 +688,7 @@ TESTSUBDIR_TRUE
|
||||
@@ -621,6 +621,9 @@ FFI_DEBUG_FALSE
|
||||
FFI_DEBUG_TRUE
|
||||
TARGETDIR
|
||||
TARGET
|
||||
+FFI_EXEC_TRAMPOLINE_TABLE
|
||||
+FFI_EXEC_TRAMPOLINE_TABLE_FALSE
|
||||
+FFI_EXEC_TRAMPOLINE_TABLE_TRUE
|
||||
sys_symbol_underscore
|
||||
HAVE_LONG_DOUBLE
|
||||
ALLOCA
|
||||
@@ -685,6 +688,7 @@ TESTSUBDIR_TRUE
|
||||
MAINT
|
||||
MAINTAINER_MODE_FALSE
|
||||
MAINTAINER_MODE_TRUE
|
||||
@@ -91,7 +101,7 @@ Index: libffi/configure
|
||||
CPP
|
||||
OTOOL64
|
||||
OTOOL
|
||||
@@ -754,6 +755,7 @@ am__isrc
|
||||
@@ -751,6 +755,7 @@ am__isrc
|
||||
INSTALL_DATA
|
||||
INSTALL_SCRIPT
|
||||
INSTALL_PROGRAM
|
||||
@@ -99,7 +109,7 @@ Index: libffi/configure
|
||||
target_os
|
||||
target_vendor
|
||||
target_cpu
|
||||
@@ -807,6 +809,7 @@ SHELL'
|
||||
@@ -804,6 +809,7 @@ SHELL'
|
||||
ac_subst_files=''
|
||||
ac_user_opts='
|
||||
enable_option_checking
|
||||
@@ -107,7 +117,7 @@ Index: libffi/configure
|
||||
enable_dependency_tracking
|
||||
enable_shared
|
||||
enable_static
|
||||
@@ -815,6 +818,8 @@ enable_fast_install
|
||||
@@ -812,6 +818,8 @@ enable_fast_install
|
||||
with_gnu_ld
|
||||
with_sysroot
|
||||
enable_libtool_lock
|
||||
@@ -116,7 +126,7 @@ Index: libffi/configure
|
||||
enable_maintainer_mode
|
||||
enable_debug
|
||||
enable_structs
|
||||
@@ -1449,6 +1454,8 @@ Optional Features:
|
||||
@@ -1446,6 +1454,8 @@ Optional Features:
|
||||
--disable-option-checking ignore unrecognized --enable/--with options
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
@@ -125,7 +135,7 @@ Index: libffi/configure
|
||||
--disable-dependency-tracking speeds up one-time build
|
||||
--enable-dependency-tracking do not reject slow dependency extractors
|
||||
--enable-shared[=PKGS] build shared libraries [default=yes]
|
||||
@@ -1456,6 +1463,9 @@ Optional Features:
|
||||
@@ -1453,6 +1463,9 @@ Optional Features:
|
||||
--enable-fast-install[=PKGS]
|
||||
optimize for fast installation [default=yes]
|
||||
--disable-libtool-lock avoid locking (might break parallel builds)
|
||||
@@ -135,7 +145,7 @@ Index: libffi/configure
|
||||
--enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer
|
||||
--enable-debug debugging mode
|
||||
@@ -1471,6 +1481,8 @@ Optional Packages:
|
||||
@@ -1468,6 +1481,8 @@ Optional Packages:
|
||||
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
|
||||
--with-sysroot=DIR Search for dependent libraries within DIR
|
||||
(or the compiler's sysroot if not specified).
|
||||
@@ -144,7 +154,7 @@ Index: libffi/configure
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
@@ -2646,6 +2658,110 @@ target_alias=${target_alias-$host_alias}
|
||||
@@ -2643,6 +2658,110 @@ target_alias=${target_alias-$host_alias}
|
||||
|
||||
. ${srcdir}/configure.host
|
||||
|
||||
@@ -255,7 +265,7 @@ Index: libffi/configure
|
||||
am__api_version='1.11'
|
||||
|
||||
# Find a good install program. We prefer a C program (faster),
|
||||
@@ -2803,9 +2919,6 @@ test "$program_suffix" != NONE &&
|
||||
@@ -2800,9 +2919,6 @@ test "$program_suffix" != NONE &&
|
||||
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
|
||||
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
|
||||
|
||||
@@ -265,7 +275,7 @@ Index: libffi/configure
|
||||
if test x"${MISSING+set}" != xset; then
|
||||
case $am_aux_dir in
|
||||
*\ * | *\ *)
|
||||
@@ -11837,201 +11950,1126 @@ CC="$lt_save_CC"
|
||||
@@ -11834,201 +11950,1126 @@ CC="$lt_save_CC"
|
||||
|
||||
|
||||
|
||||
@@ -1548,7 +1558,49 @@ Index: libffi/configure
|
||||
fi
|
||||
|
||||
|
||||
@@ -14336,6 +15374,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
|
||||
@@ -13282,13 +14323,30 @@ $as_echo "#define SYMBOL_UNDERSCORE 1" >
|
||||
fi
|
||||
fi
|
||||
|
||||
+
|
||||
+FFI_EXEC_TRAMPOLINE_TABLE=0
|
||||
case "$target" in
|
||||
+ *arm*-apple-darwin*)
|
||||
+ FFI_EXEC_TRAMPOLINE_TABLE=1
|
||||
+
|
||||
+$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
|
||||
+
|
||||
+ ;;
|
||||
*-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
|
||||
|
||||
$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
|
||||
|
||||
;;
|
||||
esac
|
||||
+ if test x$FFI_EXEC_TRAMPOLINE_TABLE = x1; then
|
||||
+ FFI_EXEC_TRAMPOLINE_TABLE_TRUE=
|
||||
+ FFI_EXEC_TRAMPOLINE_TABLE_FALSE='#'
|
||||
+else
|
||||
+ FFI_EXEC_TRAMPOLINE_TABLE_TRUE='#'
|
||||
+ FFI_EXEC_TRAMPOLINE_TABLE_FALSE=
|
||||
+fi
|
||||
+
|
||||
+
|
||||
|
||||
if test x$TARGET = xX86_64; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
|
||||
@@ -13710,6 +14768,10 @@ if test -z "${PA64_HPUX_TRUE}" && test -
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
|
||||
+if test -z "${FFI_EXEC_TRAMPOLINE_TABLE_TRUE}" && test -z "${FFI_EXEC_TRAMPOLINE_TABLE_FALSE}"; then
|
||||
+ as_fn_error $? "conditional \"FFI_EXEC_TRAMPOLINE_TABLE\" was never defined.
|
||||
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
+fi
|
||||
if test -z "${FFI_DEBUG_TRUE}" && test -z "${FFI_DEBUG_FALSE}"; then
|
||||
as_fn_error $? "conditional \"FFI_DEBUG\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
@@ -14312,6 +15374,14 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_writ
|
||||
#
|
||||
# INIT-COMMANDS
|
||||
#
|
||||
@@ -1563,7 +1615,7 @@ Index: libffi/configure
|
||||
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
|
||||
|
||||
|
||||
@@ -14625,6 +15671,7 @@ for ac_config_target in $ac_config_targe
|
||||
@@ -14601,6 +15671,7 @@ for ac_config_target in $ac_config_targe
|
||||
do
|
||||
case $ac_config_target in
|
||||
"fficonfig.h") CONFIG_HEADERS="$CONFIG_HEADERS fficonfig.h" ;;
|
||||
@@ -1571,7 +1623,7 @@ Index: libffi/configure
|
||||
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
|
||||
"include") CONFIG_COMMANDS="$CONFIG_COMMANDS include" ;;
|
||||
@@ -15263,6 +16310,150 @@ $as_echo "$as_me: executing $ac_file com
|
||||
@@ -15239,6 +16310,150 @@ $as_echo "$as_me: executing $ac_file com
|
||||
|
||||
|
||||
case $ac_file$ac_mode in
|
||||
|
||||
Reference in New Issue
Block a user