commit: e2c1356661ad67b2362703a7592451cbdfda9c11 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Jun 3 00:50:19 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Jun 3 01:31:36 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2c13566
dev-libs/libffi: drop unused patches Signed-off-by: Sam James <sam <AT> gentoo.org> dev-libs/libffi/files/libffi-3.4.6-tests.patch | 104 ------------------- dev-libs/libffi/files/libffi-3.4.6-x86-sse.patch | 124 ----------------------- 2 files changed, 228 deletions(-) diff --git a/dev-libs/libffi/files/libffi-3.4.6-tests.patch b/dev-libs/libffi/files/libffi-3.4.6-tests.patch deleted file mode 100644 index e24d01f4c028..000000000000 --- a/dev-libs/libffi/files/libffi-3.4.6-tests.patch +++ /dev/null @@ -1,104 +0,0 @@ -https://github.com/libffi/libffi/commit/efb98a72d8b9bdb71b4f972efced073bee3b30fc -https://github.com/libffi/libffi/commit/92d384df196a099fde384f9178864dbfe8c6b0fc - -From efb98a72d8b9bdb71b4f972efced073bee3b30fc Mon Sep 17 00:00:00 2001 -From: Anthony Green <[email protected]> -Date: Sun, 15 Sep 2024 07:31:33 -0400 -Subject: [PATCH] Robustify floating point comparison in test - ---- - testsuite/libffi.call/struct_int_float.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/testsuite/libffi.call/struct_int_float.c b/testsuite/libffi.call/struct_int_float.c -index dab1d1fed..82685814c 100644 ---- a/testsuite/libffi.call/struct_int_float.c -+++ b/testsuite/libffi.call/struct_int_float.c -@@ -54,35 +54,35 @@ int main (void) - values[4] = &ts_arg[4]; - args[5] = &ts_type; - values[5] = &ts_arg[5]; -- -+ - /* Initialize the cif */ - CHECK(ffi_prep_cif(&cif, ABI_NUM, 6, &ffi_type_float, args) == FFI_OK); -- -+ - ts_arg[0].i = 1; -- ts_arg[0].f = 1.11f; -+ ts_arg[0].f = 11.11f; - ts_arg[1].i = 2; -- ts_arg[1].f = 2.22f; -+ ts_arg[1].f = 22.22f; - ts_arg[2].i = 3; -- ts_arg[2].f = 3.33f; -+ ts_arg[2].f = 33.33f; - ts_arg[3].i = 4; -- ts_arg[3].f = 4.44f; -+ ts_arg[3].f = 44.44f; - ts_arg[4].i = 5; -- ts_arg[4].f = 5.55f; -+ ts_arg[4].f = 55.55f; - ts_arg[5].i = 6; -- ts_arg[5].f = 6.66f; -- -+ ts_arg[5].f = 66.66f; -+ - printf ("%g\n", ts_arg[0].f); - printf ("%g\n", ts_arg[1].f); - printf ("%g\n", ts_arg[2].f); - printf ("%g\n", ts_arg[3].f); - printf ("%g\n", ts_arg[4].f); - printf ("%g\n", ts_arg[5].f); -- -+ - ffi_call(&cif, FFI_FN(struct_int_float), &rfloat, values); - - printf ("%g\n", rfloat); -- -- CHECK(rfloat == 1.11f); -+ -+ CHECK(fabs(rfloat - 11.11) < FLT_EPSILON); - - exit(0); - } - -From 92d384df196a099fde384f9178864dbfe8c6b0fc Mon Sep 17 00:00:00 2001 -From: Anthony Green <[email protected]> -Date: Sun, 15 Sep 2024 12:32:29 -0400 -Subject: [PATCH] Fix floating point compare - ---- - testsuite/libffi.call/struct_int_float.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/testsuite/libffi.call/struct_int_float.c b/testsuite/libffi.call/struct_int_float.c -index 82685814..66ef6c45 100644 ---- a/testsuite/libffi.call/struct_int_float.c -+++ b/testsuite/libffi.call/struct_int_float.c -@@ -14,11 +14,11 @@ typedef struct - } test_structure_int_float; - - static float ABI_ATTR struct_int_float(test_structure_int_float ts1, -- test_structure_int_float ts2, -- test_structure_int_float ts3, -- test_structure_int_float ts4, -- test_structure_int_float ts5, -- test_structure_int_float ts6) -+ test_structure_int_float ts2 __UNUSED__, -+ test_structure_int_float ts3 __UNUSED__, -+ test_structure_int_float ts4 __UNUSED__, -+ test_structure_int_float ts5 __UNUSED__, -+ test_structure_int_float ts6 __UNUSED__) - { - return ts1.f; - } -@@ -82,7 +82,7 @@ int main (void) - - printf ("%g\n", rfloat); - -- CHECK(fabs(rfloat - 11.11) < FLT_EPSILON); -+ CHECK(fabs(rfloat - 11.11) < 3 * FLT_EPSILON); - - exit(0); - } diff --git a/dev-libs/libffi/files/libffi-3.4.6-x86-sse.patch b/dev-libs/libffi/files/libffi-3.4.6-x86-sse.patch deleted file mode 100644 index 75c0e892ef3a..000000000000 --- a/dev-libs/libffi/files/libffi-3.4.6-x86-sse.patch +++ /dev/null @@ -1,124 +0,0 @@ -https://github.com/libffi/libffi/commit/d21881f55ed4a44d464c9091871e69b0bb47611a - -From d21881f55ed4a44d464c9091871e69b0bb47611a Mon Sep 17 00:00:00 2001 -From: kellda <[email protected]> -Date: Sun, 15 Sep 2024 13:29:42 +0200 -Subject: [PATCH] Fix x86/ffi64 calls with 6 gp and some sse registers (#848) - -* Fix x86/ffi64 calls with 6 gp and some sse registers - -* Add test demonstating issue when mixing gp and sse registers ---- - src/x86/ffi64.c | 2 +- - testsuite/libffi.call/struct_int_float.c | 88 ++++++++++++++++++++++++ - 2 files changed, 89 insertions(+), 1 deletion(-) - create mode 100644 testsuite/libffi.call/struct_int_float.c - -diff --git a/src/x86/ffi64.c b/src/x86/ffi64.c -index 6a8e37fc5..39f0bfd33 100644 ---- a/src/x86/ffi64.c -+++ b/src/x86/ffi64.c -@@ -651,7 +651,7 @@ ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, - break; - default: - reg_args->gpr[gprcount] = 0; -- memcpy (®_args->gpr[gprcount], a, size); -+ memcpy (®_args->gpr[gprcount], a, sizeof(UINT64)); - } - gprcount++; - break; -diff --git a/testsuite/libffi.call/struct_int_float.c b/testsuite/libffi.call/struct_int_float.c -new file mode 100644 -index 000000000..dab1d1fed ---- /dev/null -+++ b/testsuite/libffi.call/struct_int_float.c -@@ -0,0 +1,88 @@ -+/* Area: ffi_call -+ Purpose: Demonstrate structures with integers corrupting earlier floats -+ Limitations: none. -+ PR: #848 -+ Originator: kellda */ -+ -+/* { dg-do run } */ -+#include "ffitest.h" -+ -+typedef struct -+{ -+ unsigned long i; -+ float f; -+} test_structure_int_float; -+ -+static float ABI_ATTR struct_int_float(test_structure_int_float ts1, -+ test_structure_int_float ts2, -+ test_structure_int_float ts3, -+ test_structure_int_float ts4, -+ test_structure_int_float ts5, -+ test_structure_int_float ts6) -+{ -+ return ts1.f; -+} -+ -+int main (void) -+{ -+ ffi_cif cif; -+ ffi_type *args[MAX_ARGS]; -+ void *values[MAX_ARGS]; -+ ffi_type ts_type; -+ ffi_type *ts_type_elements[3]; -+ float rfloat; -+ -+ test_structure_int_float ts_arg[6]; -+ -+ ts_type.size = 0; -+ ts_type.alignment = 0; -+ ts_type.type = FFI_TYPE_STRUCT; -+ ts_type.elements = ts_type_elements; -+ ts_type_elements[0] = &ffi_type_ulong; -+ ts_type_elements[1] = &ffi_type_float; -+ ts_type_elements[2] = NULL; -+ -+ args[0] = &ts_type; -+ values[0] = &ts_arg[0]; -+ args[1] = &ts_type; -+ values[1] = &ts_arg[1]; -+ args[2] = &ts_type; -+ values[2] = &ts_arg[2]; -+ args[3] = &ts_type; -+ values[3] = &ts_arg[3]; -+ args[4] = &ts_type; -+ values[4] = &ts_arg[4]; -+ args[5] = &ts_type; -+ values[5] = &ts_arg[5]; -+ -+ /* Initialize the cif */ -+ CHECK(ffi_prep_cif(&cif, ABI_NUM, 6, &ffi_type_float, args) == FFI_OK); -+ -+ ts_arg[0].i = 1; -+ ts_arg[0].f = 1.11f; -+ ts_arg[1].i = 2; -+ ts_arg[1].f = 2.22f; -+ ts_arg[2].i = 3; -+ ts_arg[2].f = 3.33f; -+ ts_arg[3].i = 4; -+ ts_arg[3].f = 4.44f; -+ ts_arg[4].i = 5; -+ ts_arg[4].f = 5.55f; -+ ts_arg[5].i = 6; -+ ts_arg[5].f = 6.66f; -+ -+ printf ("%g\n", ts_arg[0].f); -+ printf ("%g\n", ts_arg[1].f); -+ printf ("%g\n", ts_arg[2].f); -+ printf ("%g\n", ts_arg[3].f); -+ printf ("%g\n", ts_arg[4].f); -+ printf ("%g\n", ts_arg[5].f); -+ -+ ffi_call(&cif, FFI_FN(struct_int_float), &rfloat, values); -+ -+ printf ("%g\n", rfloat); -+ -+ CHECK(rfloat == 1.11f); -+ -+ exit(0); -+} -
