Ensure the linker supports @unwind sections in libffi.
This commit is contained in:
@@ -1,8 +1,16 @@
|
||||
2014-03-14 Anthony Green <green@moxielogic.com>
|
||||
|
||||
* configure, Makefile.in: Rebuilt.
|
||||
|
||||
2014-03-10 Mike Hommey <mh+mozilla@glandium.org>
|
||||
|
||||
* configure.ac: Allow building for mipsel with Android NDK r8.
|
||||
* Makefile.am (AM_MAKEFLAGS): Replace double quotes with single quotes.
|
||||
|
||||
2014-03-10 Landry Breuil <landry@openbsd.org>
|
||||
|
||||
* configure.ac: Ensure the linker supports @unwind sections in libffi.
|
||||
|
||||
2014-03-01 Anthony Green <green@moxielogic.com>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Replace old scripts with
|
||||
|
||||
66
Makefile.in
66
Makefile.in
@@ -646,39 +646,39 @@ info_TEXINFOS = doc/libffi.texi
|
||||
# values defined in terms of make variables, as is the case for CC and
|
||||
# friends when we are called from the top level Makefile.
|
||||
AM_MAKEFLAGS = \
|
||||
'AR_FLAGS=$(AR_FLAGS)' \
|
||||
'CC_FOR_BUILD=$(CC_FOR_BUILD)' \
|
||||
'CFLAGS=$(CFLAGS)' \
|
||||
'CXXFLAGS=$(CXXFLAGS)' \
|
||||
'CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)' \
|
||||
'CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)' \
|
||||
'INSTALL=$(INSTALL)' \
|
||||
'INSTALL_DATA=$(INSTALL_DATA)' \
|
||||
'INSTALL_PROGRAM=$(INSTALL_PROGRAM)' \
|
||||
'INSTALL_SCRIPT=$(INSTALL_SCRIPT)' \
|
||||
'JC1FLAGS=$(JC1FLAGS)' \
|
||||
'LDFLAGS=$(LDFLAGS)' \
|
||||
'LIBCFLAGS=$(LIBCFLAGS)' \
|
||||
'LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)' \
|
||||
'MAKE=$(MAKE)' \
|
||||
'MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)' \
|
||||
'PICFLAG=$(PICFLAG)' \
|
||||
'PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)' \
|
||||
'RUNTESTFLAGS=$(RUNTESTFLAGS)' \
|
||||
'SHELL=$(SHELL)' \
|
||||
'exec_prefix=$(exec_prefix)' \
|
||||
'infodir=$(infodir)' \
|
||||
'libdir=$(libdir)' \
|
||||
'mandir=$(mandir)' \
|
||||
'prefix=$(prefix)' \
|
||||
'AR=$(AR)' \
|
||||
'AS=$(AS)' \
|
||||
'CC=$(CC)' \
|
||||
'CXX=$(CXX)' \
|
||||
'LD=$(LD)' \
|
||||
'NM=$(NM)' \
|
||||
'RANLIB=$(RANLIB)' \
|
||||
'DESTDIR=$(DESTDIR)'
|
||||
"AR_FLAGS=$(AR_FLAGS)" \
|
||||
"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
|
||||
"CFLAGS=$(CFLAGS)" \
|
||||
"CXXFLAGS=$(CXXFLAGS)" \
|
||||
"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
|
||||
"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
|
||||
"INSTALL=$(INSTALL)" \
|
||||
"INSTALL_DATA=$(INSTALL_DATA)" \
|
||||
"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
|
||||
"INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
|
||||
"JC1FLAGS=$(JC1FLAGS)" \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"LIBCFLAGS=$(LIBCFLAGS)" \
|
||||
"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
|
||||
"MAKE=$(MAKE)" \
|
||||
"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
|
||||
"PICFLAG=$(PICFLAG)" \
|
||||
"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
|
||||
"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
|
||||
"SHELL=$(SHELL)" \
|
||||
"exec_prefix=$(exec_prefix)" \
|
||||
"infodir=$(infodir)" \
|
||||
"libdir=$(libdir)" \
|
||||
"mandir=$(mandir)" \
|
||||
"prefix=$(prefix)" \
|
||||
"AR=$(AR)" \
|
||||
"AS=$(AS)" \
|
||||
"CC=$(CC)" \
|
||||
"CXX=$(CXX)" \
|
||||
"LD=$(LD)" \
|
||||
"NM=$(NM)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
"DESTDIR=$(DESTDIR)"
|
||||
|
||||
|
||||
# Subdir rules rely on $(FLAGS_TO_PASS)
|
||||
|
||||
30
configure
vendored
30
configure
vendored
@@ -13584,7 +13584,7 @@ case "$host" in
|
||||
mips-sgi-irix5.* | mips-sgi-irix6.* | mips*-*-rtems*)
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
;;
|
||||
mips*-*-linux* | mips*-*-openbsd*)
|
||||
mips*-*linux* | mips*-*-openbsd*)
|
||||
# Support 128-bit long double for NewABI.
|
||||
HAVE_LONG_DOUBLE='defined(__mips64)'
|
||||
TARGET=MIPS; TARGETDIR=mips
|
||||
@@ -14884,16 +14884,32 @@ fi
|
||||
|
||||
|
||||
if test x$TARGET = xX86_64; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler supports unwind section type" >&5
|
||||
$as_echo_n "checking assembler supports unwind section type... " >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking toolchain supports unwind section type" >&5
|
||||
$as_echo_n "checking toolchain supports unwind section type... " >&6; }
|
||||
if ${libffi_cv_as_x86_64_unwind_section_type+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
libffi_cv_as_x86_64_unwind_section_type=yes
|
||||
echo '.section .eh_frame,"a",@unwind' > conftest.s
|
||||
if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
|
||||
libffi_cv_as_x86_64_unwind_section_type=no
|
||||
cat > conftest1.s << EOF
|
||||
.text
|
||||
.globl foo
|
||||
foo:
|
||||
jmp bar
|
||||
.section .eh_frame,"a",@unwind
|
||||
bar:
|
||||
EOF
|
||||
|
||||
cat > conftest2.c << EOF
|
||||
extern void foo();
|
||||
int main(){foo();}
|
||||
EOF
|
||||
|
||||
libffi_cv_as_x86_64_unwind_section_type=no
|
||||
# we ensure that we can compile _and_ link an assembly file containing an @unwind section
|
||||
# since the compiler can support it and not the linker (ie old binutils)
|
||||
if $CC -Wa,--fatal-warnings $CFLAGS -c conftest1.s > /dev/null 2>&1 && \
|
||||
$CC conftest2.c conftest1.o > /dev/null 2>&1 ; then
|
||||
libffi_cv_as_x86_64_unwind_section_type=yes
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
26
configure.ac
26
configure.ac
@@ -460,12 +460,28 @@ AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1)
|
||||
AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE)
|
||||
|
||||
if test x$TARGET = xX86_64; then
|
||||
AC_CACHE_CHECK([assembler supports unwind section type],
|
||||
AC_CACHE_CHECK([toolchain supports unwind section type],
|
||||
libffi_cv_as_x86_64_unwind_section_type, [
|
||||
libffi_cv_as_x86_64_unwind_section_type=yes
|
||||
echo '.section .eh_frame,"a",@unwind' > conftest.s
|
||||
if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
|
||||
libffi_cv_as_x86_64_unwind_section_type=no
|
||||
cat > conftest1.s << EOF
|
||||
.text
|
||||
.globl foo
|
||||
foo:
|
||||
jmp bar
|
||||
.section .eh_frame,"a",@unwind
|
||||
bar:
|
||||
EOF
|
||||
|
||||
cat > conftest2.c << EOF
|
||||
extern void foo();
|
||||
int main(){foo();}
|
||||
EOF
|
||||
|
||||
libffi_cv_as_x86_64_unwind_section_type=no
|
||||
# we ensure that we can compile _and_ link an assembly file containing an @unwind section
|
||||
# since the compiler can support it and not the linker (ie old binutils)
|
||||
if $CC -Wa,--fatal-warnings $CFLAGS -c conftest1.s > /dev/null 2>&1 && \
|
||||
$CC conftest2.c conftest1.o > /dev/null 2>&1 ; then
|
||||
libffi_cv_as_x86_64_unwind_section_type=yes
|
||||
fi
|
||||
])
|
||||
if test "x$libffi_cv_as_x86_64_unwind_section_type" = xyes; then
|
||||
|
||||
Reference in New Issue
Block a user