mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
libffi: upgrade to 3.4.5
Drop the clang/VFP patch, merged in 00116b6.
Drop the FILES for ${libdir}/libffi-${PV}, this file isn't installed.
License-Update: Copyright year updated to 2024.
(From OE-Core rev: e3ea7c0ae99171ebaa273f0a1f6d4fa49ed1b257)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
00811a3926
commit
65da465410
@@ -1,102 +0,0 @@
|
||||
From 000f1500b693a84880d2da49b77b1113f98dde35 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: Submitted [https://github.com/libffi/libffi/pull/747]
|
||||
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]
|
||||
@@ -8,25 +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=32c0d09a0641daf4903e5d61cc8f23a8"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=1db54c9fd307a12218766c3c7f650ca7"
|
||||
|
||||
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] = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676"
|
||||
SRC_URI[sha256sum] = "96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2"
|
||||
|
||||
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 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"
|
||||
Reference in New Issue
Block a user