From 31b6b6bc14197cd4183bdbd311fddeb36b5ae100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krause?= Date: Sat, 19 Sep 2015 22:53:29 +0200 Subject: [PATCH] Fix use of compact eh frames on MIPS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Newer MIPS toolchains use a different (compact) eh_frame format. libffi don't like them, so we have to switch to the older format. This patch add -mno-compact-eh to CFLAGS when compiling for Mips and compiler support it. Signed-off-by: Jérôme Pouiller [unfuzz for 3.2.1] Signed-off-by: Jörg Krause --- configure.ac | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/configure.ac b/configure.ac index a7bf5ee..36cd0d4 100644 --- a/configure.ac +++ b/configure.ac @@ -469,6 +469,16 @@ esac AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) +if test x$TARGET = xMIPS; then + save_CFLAGS="$CFLAGS" + CFLAGS=-mno-compact-eh + AC_MSG_CHECKING([whether the C compiler needs -mno-compact-eh]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], + [AC_MSG_RESULT([yes])]; [save_CFLAGS="$save_CFLAGS -mno-compact-eh"], + [AC_MSG_RESULT([no])]) + CFLAGS="$save_CFLAGS" +fi + if test x$TARGET = xX86_64; then AC_CACHE_CHECK([toolchain supports unwind section type], libffi_cv_as_x86_64_unwind_section_type, [ -- 2.5.3