This commit is contained in:
Anthony Green
2009-12-25 21:52:28 -05:00
parent 1d04af52e3
commit 39c8792ece
30 changed files with 17754 additions and 219 deletions

View File

@@ -2,7 +2,19 @@ Index: libffi/src/closures.c
===================================================================
--- libffi.orig/src/closures.c
+++ libffi/src/closures.c
@@ -214,6 +214,8 @@ static int dlmunmap(void *, size_t);
@@ -50,11 +50,6 @@
executable memory. */
# define FFI_MMAP_EXEC_WRIT 1
# endif
-# if defined(X86_64) && defined(__sun__) && defined(__svr4__)
-/* The data segment on 64-bit Solaris/x86 isn't executable, so use mmap
- instead. */
-# define FFI_MMAP_EXEC_WRIT 1
-# endif
#endif
#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX
@@ -214,6 +209,8 @@ static int dlmunmap(void *, size_t);
#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__)
@@ -11,7 +23,7 @@ Index: libffi/src/closures.c
/* A mutex used to synchronize access to *exec* variables in this file. */
static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
@@ -483,6 +485,27 @@ dlmmap (void *start, size_t length, int
@@ -483,6 +480,27 @@ dlmmap (void *start, size_t length, int
return dlmmap_locked (start, length, prot, flags, offset);
}
@@ -43,7 +55,13 @@ Index: libffi/ChangeLog.libffi
===================================================================
--- libffi.orig/ChangeLog.libffi
+++ libffi/ChangeLog.libffi
@@ -1,3 +1,11 @@
@@ -1,3 +1,17 @@
+2009-12-25 Andreas Tobler <a.tobler@schweiz.org>
+
+ * fficonfig.h.in: Rebuilt again.
+ * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
+ Solaris/x86.
+
+2009-10-27 Abdulaziz Ghuloum <aghuloum@gmail.com>
+
+ * configure.ac (FFI_MMAP_EXEC_WRIT): Define for snow
@@ -59,15 +77,7 @@ Index: libffi/configure.ac
===================================================================
--- libffi.orig/configure.ac
+++ libffi/configure.ac
@@ -163,6 +163,7 @@ case "$host" in
esac
AC_SUBST(AM_RUNTESTFLAGS)
+AC_SUBST(AM_LTLDFLAGS)
if test $TARGETDIR = unknown; then
AC_MSG_ERROR(["libffi has not been ported to $host."])
@@ -274,6 +275,14 @@ if test x$TARGET = xX86 || test x$TARGET
@@ -274,6 +274,14 @@ if test x$TARGET = xX86 || test x$TARGET
fi
fi
@@ -86,132 +96,7 @@ Index: libffi/configure
===================================================================
--- libffi.orig/configure
+++ libffi/configure
@@ -847,6 +847,7 @@ SPARC_FALSE
SPARC_TRUE
MIPS_FALSE
MIPS_TRUE
+AM_LTLDFLAGS
AM_RUNTESTFLAGS
TESTSUBDIR_FALSE
TESTSUBDIR_TRUE
@@ -4772,13 +4773,13 @@ if test "${lt_cv_nm_interface+set}" = se
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:4775: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:4776: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:4778: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:4779: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:4781: output\"" >&5)
+ (eval echo "\"\$as_me:4782: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -5984,7 +5985,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5987 "configure"' > conftest.$ac_ext
+ echo '#line 5988 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -7837,11 +7838,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:7840: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:7841: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:7844: \$? = $ac_status" >&5
+ echo "$as_me:7845: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -8176,11 +8177,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8179: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8180: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8183: \$? = $ac_status" >&5
+ echo "$as_me:8184: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -8281,11 +8282,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8284: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8285: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8288: \$? = $ac_status" >&5
+ echo "$as_me:8289: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -8336,11 +8337,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8339: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8340: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:8343: \$? = $ac_status" >&5
+ echo "$as_me:8344: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -11139,7 +11140,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11142 "configure"
+#line 11143 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11235,7 +11236,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11238 "configure"
+#line 11239 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12184,6 +12185,8 @@ case "$host" in
;;
i?86-win32* | i?86-*-cygwin* | i?86-*-mingw*)
TARGET=X86_WIN32; TARGETDIR=x86
+ # All mingw/cygwin/win32 builds require this for sharedlib
+ AM_LTLDFLAGS="-no-undefined"
;;
i?86-*-darwin*)
TARGET=X86_DARWIN; TARGETDIR=x86
@@ -12263,6 +12266,7 @@ esac
+
if test $TARGETDIR = unknown; then
{ { $as_echo "$as_me:$LINENO: error: \"libffi has not been ported to $host.\"" >&5
$as_echo "$as_me: error: \"libffi has not been ported to $host.\"" >&2;}
@@ -14498,7 +14502,7 @@ _ACEOF
@@ -14498,7 +14498,7 @@ _ACEOF
fi
case "$target" in
@@ -220,3 +105,27 @@ Index: libffi/configure
cat >>confdefs.h <<\_ACEOF
#define FFI_MMAP_EXEC_WRIT 1
Index: libffi/fficonfig.h.in
===================================================================
--- libffi.orig/fficonfig.h.in
+++ libffi/fficonfig.h.in
@@ -17,6 +17,9 @@
/* Define this if you want extra debugging. */
#undef FFI_DEBUG
+/* Cannot use malloc on this target, so, we revert to alternative means */
+#undef FFI_MMAP_EXEC_WRIT
+
/* Define this is you do not want support for the raw API. */
#undef FFI_NO_RAW_API
@@ -122,9 +125,6 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
/* Define to the version of this package. */
#undef PACKAGE_VERSION