mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-25 12:16:35 +00:00
libffi: Add -mno-compact-eh when compiling for Mips
Fix compilation on Mips. Resolve issues detected here: http://autobuild.buildroot.net/results/f0c9db496233f53c26e92294d7305aa4511ec7b3/ http://autobuild.buildroot.net/results/8968690c248df86b040218867f92b573721e872c/ http://autobuild.buildroot.net/results/a35db8e6a49d022133b486b12f6a8e40b3c95b6e/ Also remove previous special case handling defined in libffi.mk. [Thomas: add Signed-off-by from Jérôme inside the patch itself.] Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
129233fed6
commit
98204e8fea
@ -0,0 +1,27 @@
|
|||||||
|
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>
|
||||||
|
|
||||||
|
--- a/configure.ac 2013-08-08 14:53:11.884267155 +0200
|
||||||
|
+++ b/configure.ac 2013-08-08 14:54:14.437493244 +0200
|
||||||
|
@@ -430,6 +430,16 @@
|
||||||
|
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([assembler supports unwind section type],
|
||||||
|
libffi_cv_as_x86_64_unwind_section_type, [
|
@ -11,12 +11,6 @@ LIBFFI_LICENSE_FILES = LICENSE
|
|||||||
LIBFFI_INSTALL_STAGING = YES
|
LIBFFI_INSTALL_STAGING = YES
|
||||||
LIBFFI_AUTORECONF = YES
|
LIBFFI_AUTORECONF = YES
|
||||||
|
|
||||||
# Newer CS MIPS toolchains use a different (compact) eh_frame format
|
|
||||||
# libffi don't like them, just switch to the older format
|
|
||||||
ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209)$(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203),y)
|
|
||||||
LIBFFI_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh"
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Move the headers to the usual location, and adjust the .pc file
|
# Move the headers to the usual location, and adjust the .pc file
|
||||||
# accordingly.
|
# accordingly.
|
||||||
define LIBFFI_MOVE_STAGING_HEADERS
|
define LIBFFI_MOVE_STAGING_HEADERS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user