You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
3.6 KiB
114 lines
3.6 KiB
12 years ago
|
https://bugs.gentoo.org/417179
|
||
|
https://github.com/atgreen/libffi/issues/21
|
||
|
|
||
|
From bff052d9cd5be41ba9e47c76114054af487d3c30 Mon Sep 17 00:00:00 2001
|
||
|
From: Anthony Green <green@moxielogic.com>
|
||
|
Date: Fri, 11 Jan 2013 10:24:32 -0500
|
||
|
Subject: [PATCH] 32-bit x86 fix and more
|
||
|
|
||
|
---
|
||
|
ChangeLog | 8 ++++++++
|
||
|
README | 2 ++
|
||
|
configure | 43 +++++--------------------------------------
|
||
|
configure.ac | 6 +++---
|
||
|
m4/ax_cc_maxopt.m4 | 3 ++-
|
||
|
5 files changed, 20 insertions(+), 42 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index 5ca32fd..32ec7c5 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -334,10 +334,10 @@ fi
|
||
|
if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
|
||
|
AC_CACHE_CHECK([assembler supports pc related relocs],
|
||
|
libffi_cv_as_x86_pcrel, [
|
||
|
- libffi_cv_as_x86_pcrel=yes
|
||
|
+ libffi_cv_as_x86_pcrel=no
|
||
|
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
|
||
|
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
|
||
|
- libffi_cv_as_x86_pcrel=no
|
||
|
+ if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
|
||
|
+ libffi_cv_as_x86_pcrel=yes
|
||
|
fi
|
||
|
])
|
||
|
if test "x$libffi_cv_as_x86_pcrel" = xyes; then
|
||
|
diff --git a/m4/ax_cc_maxopt.m4 b/m4/ax_cc_maxopt.m4
|
||
|
index f5f7517..62e3b53 100644
|
||
|
--- a/m4/ax_cc_maxopt.m4
|
||
|
+++ b/m4/ax_cc_maxopt.m4
|
||
|
@@ -141,7 +141,8 @@ if test "$ac_test_CFLAGS" != "set"; then
|
||
|
CFLAGS="-O3 -fomit-frame-pointer"
|
||
|
|
||
|
# -malign-double for x86 systems
|
||
|
- AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
|
||
|
+ # LIBFFI -- DON'T DO THIS - CHANGES ABI
|
||
|
+ # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
|
||
|
|
||
|
# -fstrict-aliasing for gcc-2.95+
|
||
|
AX_CHECK_COMPILE_FLAG(-fstrict-aliasing,
|
||
|
diff --git a/configure b/configure
|
||
|
index 95d950b..41bde69 100755
|
||
|
--- a/configure
|
||
|
+++ b/configure
|
||
|
@@ -12426,41 +12426,8 @@ $as_echo "$icc_archflag" >&6; }
|
||
|
CFLAGS="-O3 -fomit-frame-pointer"
|
||
|
|
||
|
# -malign-double for x86 systems
|
||
|
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -malign-double" >&5
|
||
|
-$as_echo_n "checking whether C compiler accepts -malign-double... " >&6; }
|
||
|
-if ${ax_cv_check_cflags___malign_double+:} false; then :
|
||
|
- $as_echo_n "(cached) " >&6
|
||
|
-else
|
||
|
-
|
||
|
- ax_check_save_flags=$CFLAGS
|
||
|
- CFLAGS="$CFLAGS -malign-double"
|
||
|
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||
|
-/* end confdefs.h. */
|
||
|
-
|
||
|
-int
|
||
|
-main ()
|
||
|
-{
|
||
|
-
|
||
|
- ;
|
||
|
- return 0;
|
||
|
-}
|
||
|
-_ACEOF
|
||
|
-if ac_fn_c_try_compile "$LINENO"; then :
|
||
|
- ax_cv_check_cflags___malign_double=yes
|
||
|
-else
|
||
|
- ax_cv_check_cflags___malign_double=no
|
||
|
-fi
|
||
|
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||
|
- CFLAGS=$ax_check_save_flags
|
||
|
-fi
|
||
|
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___malign_double" >&5
|
||
|
-$as_echo "$ax_cv_check_cflags___malign_double" >&6; }
|
||
|
-if test x"$ax_cv_check_cflags___malign_double" = xyes; then :
|
||
|
- CFLAGS="$CFLAGS -malign-double"
|
||
|
-else
|
||
|
- :
|
||
|
-fi
|
||
|
-
|
||
|
+ # LIBFFI -- DON'T DO THIS - CHANGES ABI
|
||
|
+ # AX_CHECK_COMPILE_FLAG(-malign-double, CFLAGS="$CFLAGS -malign-double")
|
||
|
|
||
|
# -fstrict-aliasing for gcc-2.95+
|
||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstrict-aliasing" >&5
|
||
|
@@ -14480,10 +14447,10 @@ if ${libffi_cv_as_x86_pcrel+:} false; then :
|
||
|
$as_echo_n "(cached) " >&6
|
||
|
else
|
||
|
|
||
|
- libffi_cv_as_x86_pcrel=yes
|
||
|
+ libffi_cv_as_x86_pcrel=no
|
||
|
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
|
||
|
- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
|
||
|
- libffi_cv_as_x86_pcrel=no
|
||
|
+ if $CC $CFLAGS -c conftest.s > /dev/null 2>&1; then
|
||
|
+ libffi_cv_as_x86_pcrel=yes
|
||
|
fi
|
||
|
|
||
|
fi
|
||
|
--
|
||
|
1.7.10
|
||
|
|