diff options
| author | Ross Burton <ross.burton@arm.com> | 2024-02-16 10:46:49 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-17 18:19:19 +0000 |
| commit | 65da465410c24301429b5fca23fae08df0474953 (patch) | |
| tree | cb9494f41a12db34b3bfe7a8b8d148254007662d | |
| parent | 00811a39265ac8a67f894b1c0cd2d5261ca37ad8 (diff) | |
| download | poky-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.patch | 102 | ||||
| -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 @@ | |||
| 1 | From 000f1500b693a84880d2da49b77b1113f98dde35 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Brett Warren <brett.warren@arm.com> | ||
| 3 | Date: Fri, 27 Nov 2020 15:28:42 +0000 | ||
| 4 | Subject: [PATCH] arm/sysv: reverted clang VFP mitigation | ||
| 5 | |||
| 6 | Since commit e3d2812ce43940aacae5bab2d0e965278cb1e7ea, | ||
| 7 | seperate instructions were used when compiling under clang, | ||
| 8 | as clang didn't allow the directives at the time. This mitigation | ||
| 9 | now causes compilation to fail under clang 10, as described by | ||
| 10 | https://github.com/libffi/libffi/issues/607. Now that | ||
| 11 | clang supports the LDC and SDC instructions, this mitigation | ||
| 12 | has been reverted. | ||
| 13 | |||
| 14 | Upstream-Status: Submitted [https://github.com/libffi/libffi/pull/747] | ||
| 15 | Signed-off-by: Brett Warren <brett.warren@arm.com> | ||
| 16 | |||
| 17 | --- | ||
| 18 | src/arm/sysv.S | 33 --------------------------------- | ||
| 19 | 1 file changed, 33 deletions(-) | ||
| 20 | |||
| 21 | diff --git a/src/arm/sysv.S b/src/arm/sysv.S | ||
| 22 | index 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 | |||
| 8 | A layer must exist above `libffi' that handles type conversions for values passed between the two languages." | 8 | A layer must exist above `libffi' that handles type conversions for values passed between the two languages." |
| 9 | 9 | ||
| 10 | LICENSE = "MIT" | 10 | LICENSE = "MIT" |
| 11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=32c0d09a0641daf4903e5d61cc8f23a8" | 11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1db54c9fd307a12218766c3c7f650ca7" |
| 12 | 12 | ||
| 13 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \ | 13 | SRC_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 | " |
| 17 | SRC_URI[sha256sum] = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676" | 16 | SRC_URI[sha256sum] = "96fff4e589e3b239d888d9aa44b3ff30693c2ba1617f953925a70ddebcc102b2" |
| 18 | 17 | ||
| 19 | EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" | 18 | EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" |
| 20 | EXTRA_OECONF:class-native += "--with-gcc-arch=generic" | 19 | EXTRA_OECONF:class-native += "--with-gcc-arch=generic" |
| 21 | EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" | 20 | EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" |
| 21 | |||
| 22 | inherit autotools texinfo multilib_header github-releases | 22 | inherit autotools texinfo multilib_header github-releases |
| 23 | 23 | ||
| 24 | do_install:append() { | 24 | do_install:append() { |
| 25 | oe_multilib_header ffi.h ffitarget.h | 25 | oe_multilib_header ffi.h ffitarget.h |
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | FILES:${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 |
| 32 | MIPS_INSTRUCTION_SET = "mips" | 30 | MIPS_INSTRUCTION_SET = "mips" |
