diff options
Diffstat (limited to 'meta/recipes-support/libffi')
-rw-r--r-- | meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch | 104 | ||||
-rw-r--r-- | meta/recipes-support/libffi/libffi/not-win32.patch | 9 | ||||
-rw-r--r-- | meta/recipes-support/libffi/libffi_3.4.6.bb (renamed from meta/recipes-support/libffi/libffi_3.4.2.bb) | 14 |
3 files changed, 9 insertions, 118 deletions
diff --git a/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch b/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch deleted file mode 100644 index 5e529d1ce7..0000000000 --- a/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 501a6b55853af549fae72723e74271f2a4ec7cf6 Mon Sep 17 00:00:00 2001 -From: Brett Warren <brett.warren@arm.com> -Date: Fri, 27 Nov 2020 15:28:42 +0000 -Subject: [PATCH] arm/sysv: reverted clang VFP mitigation - -Since commit e3d2812ce43940aacae5bab2d0e965278cb1e7ea, -seperate instructions were used when compiling under clang, -as clang didn't allow the directives at the time. This mitigation -now causes compilation to fail under clang 10, as described by -https://github.com/libffi/libffi/issues/607. Now that -clang supports the LDC and SDC instructions, this mitigation -has been reverted. - -Upstream-Status: Pending -Signed-off-by: Brett Warren <brett.warren@arm.com> ---- - src/arm/sysv.S | 33 --------------------------------- - 1 file changed, 33 deletions(-) - -diff --git a/src/arm/sysv.S b/src/arm/sysv.S -index fb36213..e4272a1 100644 ---- a/src/arm/sysv.S -+++ b/src/arm/sysv.S -@@ -142,13 +142,8 @@ ARM_FUNC_START(ffi_call_VFP) - - cmp r3, #3 @ load only d0 if possible - ite le --#ifdef __clang__ -- vldrle d0, [r0] -- vldmgt r0, {d0-d7} --#else - ldcle p11, cr0, [r0] @ vldrle d0, [r0] - ldcgt p11, cr0, [r0], {16} @ vldmgt r0, {d0-d7} --#endif - add r0, r0, #64 @ discard the vfp register args - /* FALLTHRU */ - ARM_FUNC_END(ffi_call_VFP) -@@ -193,25 +188,13 @@ ARM_FUNC_START(ffi_call_SYSV) - #endif - 0: - E(ARM_TYPE_VFP_S) --#ifdef __clang__ -- vstr s0, [r2] --#else - stc p10, cr0, [r2] @ vstr s0, [r2] --#endif - pop {fp,pc} - E(ARM_TYPE_VFP_D) --#ifdef __clang__ -- vstr d0, [r2] --#else - stc p11, cr0, [r2] @ vstr d0, [r2] --#endif - pop {fp,pc} - E(ARM_TYPE_VFP_N) --#ifdef __clang__ -- vstm r2, {d0-d3} --#else - stc p11, cr0, [r2], {8} @ vstm r2, {d0-d3} --#endif - pop {fp,pc} - E(ARM_TYPE_INT64) - str r1, [r2, #4] -@@ -320,11 +303,7 @@ ARM_FUNC_START(ffi_closure_VFP) - add ip, sp, #16 - sub sp, sp, #64+32 @ allocate frame - cfi_adjust_cfa_offset(64+32) --#ifdef __clang__ -- vstm sp, {d0-d7} --#else - stc p11, cr0, [sp], {16} @ vstm sp, {d0-d7} --#endif - stmdb sp!, {ip,lr} - - /* See above. */ -@@ -358,25 +337,13 @@ ARM_FUNC_START_LOCAL(ffi_closure_ret) - cfi_rel_offset(lr, 4) - 0: - E(ARM_TYPE_VFP_S) --#ifdef __clang__ -- vldr s0, [r2] --#else - ldc p10, cr0, [r2] @ vldr s0, [r2] --#endif - b call_epilogue - E(ARM_TYPE_VFP_D) --#ifdef __clang__ -- vldr d0, [r2] --#else - ldc p11, cr0, [r2] @ vldr d0, [r2] --#endif - b call_epilogue - E(ARM_TYPE_VFP_N) --#ifdef __clang__ -- vldm r2, {d0-d3} --#else - ldc p11, cr0, [r2], {8} @ vldm r2, {d0-d3} --#endif - b call_epilogue - E(ARM_TYPE_INT64) - ldr r1, [r2, #4] --- -2.25.1 - diff --git a/meta/recipes-support/libffi/libffi/not-win32.patch b/meta/recipes-support/libffi/libffi/not-win32.patch index 62daaf4b38..f4ed839ed8 100644 --- a/meta/recipes-support/libffi/libffi/not-win32.patch +++ b/meta/recipes-support/libffi/libffi/not-win32.patch @@ -1,4 +1,4 @@ -From 306719369a0d3608b4ff2737de74ae284788a14b Mon Sep 17 00:00:00 2001 +From be9d4cc110c159812699780348686da371296b94 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Thu, 4 Feb 2016 16:22:50 +0000 Subject: [PATCH] libffi: ensure sysroot paths are not in libffi.pc @@ -15,17 +15,16 @@ As this block is generally pointless, disable it. Upstream-Status: Inappropriate Signed-off-by: Ross Burton <ross.burton@intel.com> - --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index b764368..d51ce91 100644 +index 816bfd6..e37c5a8 100644 --- a/configure.ac +++ b/configure.ac -@@ -354,7 +354,7 @@ AC_ARG_ENABLE(multi-os-directory, - +@@ -401,7 +401,7 @@ AC_ARG_ENABLE(multi-os-directory, + # These variables are only ever used when we cross-build to X86_WIN32. # And we only support this with GCC, so... -if test "x$GCC" = "xyes"; then diff --git a/meta/recipes-support/libffi/libffi_3.4.2.bb b/meta/recipes-support/libffi/libffi_3.4.6.bb index 71d9518baf..a6857a3981 100644 --- a/meta/recipes-support/libffi/libffi_3.4.2.bb +++ b/meta/recipes-support/libffi/libffi_3.4.6.bb @@ -8,27 +8,23 @@ library really only provides the lowest, machine dependent layer of a fully feat A layer must exist above `libffi' that handles type conversions for values passed between the two languages." LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=679b5c9bdc79a2b93ee574e193e7a7bc" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1db54c9fd307a12218766c3c7f650ca7" -SRC_URI = "https://github.com/libffi/libffi/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \ file://not-win32.patch \ - file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \ " -SRC_URI[sha256sum] = "540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620" -UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/" -UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar" +SRC_URI[sha256sum] = "b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e" EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" EXTRA_OECONF:class-native += "--with-gcc-arch=generic" EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" -inherit autotools texinfo multilib_header + +inherit autotools texinfo multilib_header github-releases do_install:append() { oe_multilib_header ffi.h ffitarget.h } -FILES:${PN}-dev += "${libdir}/libffi-${PV}" - # Doesn't compile in MIPS16e mode due to use of hand-written # assembly MIPS_INSTRUCTION_SET = "mips" |