summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@arm.com>2024-02-16 10:46:49 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-17 18:19:19 +0000
commit65da465410c24301429b5fca23fae08df0474953 (patch)
treecb9494f41a12db34b3bfe7a8b8d148254007662d
parent00811a39265ac8a67f894b1c0cd2d5261ca37ad8 (diff)
downloadpoky-65da465410c24301429b5fca23fae08df0474953.tar.gz
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>
-rw-r--r--meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch102
-rw-r--r--meta/recipes-support/libffi/libffi_3.4.5.bb (renamed from meta/recipes-support/libffi/libffi_3.4.4.bb)8
2 files changed, 3 insertions, 107 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 3ffcb3e128..0000000000
--- a/meta/recipes-support/libffi/libffi/0001-arm-sysv-reverted-clang-VFP-mitigation.patch
+++ /dev/null
@@ -1,102 +0,0 @@
1From 000f1500b693a84880d2da49b77b1113f98dde35 Mon Sep 17 00:00:00 2001
2From: Brett Warren <brett.warren@arm.com>
3Date: Fri, 27 Nov 2020 15:28:42 +0000
4Subject: [PATCH] arm/sysv: reverted clang VFP mitigation
5
6Since commit e3d2812ce43940aacae5bab2d0e965278cb1e7ea,
7seperate instructions were used when compiling under clang,
8as clang didn't allow the directives at the time. This mitigation
9now causes compilation to fail under clang 10, as described by
10https://github.com/libffi/libffi/issues/607. Now that
11clang supports the LDC and SDC instructions, this mitigation
12has been reverted.
13
14Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/747]
15Signed-off-by: Brett Warren <brett.warren@arm.com>
16
17---
18 src/arm/sysv.S | 33 ---------------------------------
19 1 file changed, 33 deletions(-)
20
21diff --git a/src/arm/sysv.S b/src/arm/sysv.S
22index fb36213..e4272a1 100644
23--- a/src/arm/sysv.S
24+++ b/src/arm/sysv.S
25@@ -142,13 +142,8 @@ ARM_FUNC_START(ffi_call_VFP)
26
27 cmp r3, #3 @ load only d0 if possible
28 ite le
29-#ifdef __clang__
30- vldrle d0, [r0]
31- vldmgt r0, {d0-d7}
32-#else
33 ldcle p11, cr0, [r0] @ vldrle d0, [r0]
34 ldcgt p11, cr0, [r0], {16} @ vldmgt r0, {d0-d7}
35-#endif
36 add r0, r0, #64 @ discard the vfp register args
37 /* FALLTHRU */
38 ARM_FUNC_END(ffi_call_VFP)
39@@ -193,25 +188,13 @@ ARM_FUNC_START(ffi_call_SYSV)
40 #endif
41 0:
42 E(ARM_TYPE_VFP_S)
43-#ifdef __clang__
44- vstr s0, [r2]
45-#else
46 stc p10, cr0, [r2] @ vstr s0, [r2]
47-#endif
48 pop {fp,pc}
49 E(ARM_TYPE_VFP_D)
50-#ifdef __clang__
51- vstr d0, [r2]
52-#else
53 stc p11, cr0, [r2] @ vstr d0, [r2]
54-#endif
55 pop {fp,pc}
56 E(ARM_TYPE_VFP_N)
57-#ifdef __clang__
58- vstm r2, {d0-d3}
59-#else
60 stc p11, cr0, [r2], {8} @ vstm r2, {d0-d3}
61-#endif
62 pop {fp,pc}
63 E(ARM_TYPE_INT64)
64 str r1, [r2, #4]
65@@ -320,11 +303,7 @@ ARM_FUNC_START(ffi_closure_VFP)
66 add ip, sp, #16
67 sub sp, sp, #64+32 @ allocate frame
68 cfi_adjust_cfa_offset(64+32)
69-#ifdef __clang__
70- vstm sp, {d0-d7}
71-#else
72 stc p11, cr0, [sp], {16} @ vstm sp, {d0-d7}
73-#endif
74 stmdb sp!, {ip,lr}
75
76 /* See above. */
77@@ -358,25 +337,13 @@ ARM_FUNC_START_LOCAL(ffi_closure_ret)
78 cfi_rel_offset(lr, 4)
79 0:
80 E(ARM_TYPE_VFP_S)
81-#ifdef __clang__
82- vldr s0, [r2]
83-#else
84 ldc p10, cr0, [r2] @ vldr s0, [r2]
85-#endif
86 b call_epilogue
87 E(ARM_TYPE_VFP_D)
88-#ifdef __clang__
89- vldr d0, [r2]
90-#else
91 ldc p11, cr0, [r2] @ vldr d0, [r2]
92-#endif
93 b call_epilogue
94 E(ARM_TYPE_VFP_N)
95-#ifdef __clang__
96- vldm r2, {d0-d3}
97-#else
98 ldc p11, cr0, [r2], {8} @ vldm r2, {d0-d3}
99-#endif
100 b call_epilogue
101 E(ARM_TYPE_INT64)
102 ldr r1, [r2, #4]
diff --git a/meta/recipes-support/libffi/libffi_3.4.4.bb b/meta/recipes-support/libffi/libffi_3.4.5.bb
index 15d974c83e..be96c894e2 100644
--- a/meta/recipes-support/libffi/libffi_3.4.4.bb
+++ b/meta/recipes-support/libffi/libffi_3.4.5.bb
@@ -8,25 +8,23 @@ library really only provides the lowest, machine dependent layer of a fully feat
8A layer must exist above `libffi' that handles type conversions for values passed between the two languages." 8A layer must exist above `libffi' that handles type conversions for values passed between the two languages."
9 9
10LICENSE = "MIT" 10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://LICENSE;md5=32c0d09a0641daf4903e5d61cc8f23a8" 11LIC_FILES_CHKSUM = "file://LICENSE;md5=1db54c9fd307a12218766c3c7f650ca7"
12 12
13SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \ 13SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \
14 file://not-win32.patch \ 14 file://not-win32.patch \
15 file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \
16 " 15 "
17SRC_URI[sha256sum] = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676" 16SRC_URI[sha256sum] = "96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2"
18 17
19EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" 18EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp"
20EXTRA_OECONF:class-native += "--with-gcc-arch=generic" 19EXTRA_OECONF:class-native += "--with-gcc-arch=generic"
21EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" 20EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'"
21
22inherit autotools texinfo multilib_header github-releases 22inherit autotools texinfo multilib_header github-releases
23 23
24do_install:append() { 24do_install:append() {
25 oe_multilib_header ffi.h ffitarget.h 25 oe_multilib_header ffi.h ffitarget.h
26} 26}
27 27
28FILES:${PN}-dev += "${libdir}/libffi-${PV}"
29
30# Doesn't compile in MIPS16e mode due to use of hand-written 28# Doesn't compile in MIPS16e mode due to use of hand-written
31# assembly 29# assembly
32MIPS_INSTRUCTION_SET = "mips" 30MIPS_INSTRUCTION_SET = "mips"