46 lines
1.5 KiB
Diff
46 lines
1.5 KiB
Diff
|
From 31b6b6bc14197cd4183bdbd311fddeb36b5ae100 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
|
||
|
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 <jezz@sysmic.org>
|
||
|
[unfuzz for 3.2.1]
|
||
|
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
||
|
---
|
||
|
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
|
||
|
|