summaryrefslogtreecommitdiffstats
path: root/1c9bfcb6a766d4062f2dd1e594b30831d59cc36c.patch
diff options
context:
space:
mode:
Diffstat (limited to '1c9bfcb6a766d4062f2dd1e594b30831d59cc36c.patch')
-rw-r--r--1c9bfcb6a766d4062f2dd1e594b30831d59cc36c.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/1c9bfcb6a766d4062f2dd1e594b30831d59cc36c.patch b/1c9bfcb6a766d4062f2dd1e594b30831d59cc36c.patch
deleted file mode 100644
index cc43800..0000000
--- a/1c9bfcb6a766d4062f2dd1e594b30831d59cc36c.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 1c9bfcb6a766d4062f2dd1e594b30831d59cc36c Mon Sep 17 00:00:00 2001
-From: "Christoph M. Becker" <cmbecker69@gmx.de>
-Date: Tue, 22 Oct 2019 11:33:00 +0200
-Subject: [PATCH] Fix #78716: Function name mangling is wrong for some
- parameter types
-
-We have to cater to function parameter alignment when calculating the
-parameter size.
----
- NEWS | 4 ++++
- ext/ffi/ffi.c | 2 +-
- ext/ffi/tests/callconv.phpt | 30 +++++++++++++++---------------
- ext/ffi/tests/callconv_x86.dll | Bin 8704 -> 8704 bytes
- 4 files changed, 20 insertions(+), 16 deletions(-)
-
-diff --git a/ext/ffi/ffi.c b/ext/ffi/ffi.c
-index 1d6f84b6b223..1edba157a171 100644
---- a/ext/ffi/ffi.c
-+++ b/ext/ffi/ffi.c
-@@ -775,7 +775,7 @@ static size_t zend_ffi_arg_size(zend_ffi_type *type) /* {{{ */
- size_t arg_size = 0;
-
- ZEND_HASH_FOREACH_PTR(type->func.args, arg_type) {
-- arg_size += ZEND_FFI_TYPE(arg_type)->size;
-+ arg_size += MAX(ZEND_FFI_TYPE(arg_type)->size, sizeof(size_t));
- } ZEND_HASH_FOREACH_END();
- return arg_size;
- }
-diff --git a/ext/ffi/tests/callconv.phpt b/ext/ffi/tests/callconv.phpt
-index aa481de2249c..233c73f11010 100644
---- a/ext/ffi/tests/callconv.phpt
-+++ b/ext/ffi/tests/callconv.phpt
-@@ -9,32 +9,32 @@ if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platforms only");
- --FILE--
- <?php
- $header = <<<HEADER
--void __cdecl cdecl_func(int arg1, double arg2);
--void __stdcall stdcall_func(int arg1, double arg2);
--void __fastcall fastcall_func(int arg1, double arg2);
-+void __cdecl cdecl_func(int arg1, double arg2, char arg3);
-+void __stdcall stdcall_func(int arg1, double arg2, char arg3);
-+void __fastcall fastcall_func(int arg1, double arg2, char arg3);
- HEADER;
- $headername = __DIR__ . '/callconv.h';
- $dllname = __DIR__ . "/callconv_x86.dll";
-
- $ffi1 = FFI::cdef($header, $dllname);
--$ffi1->cdecl_func(1, 2.3);
--$ffi1->stdcall_func(4, 5.6);
--$ffi1->fastcall_func(7, 8.9);
-+$ffi1->cdecl_func(1, 2.3, 'a');
-+$ffi1->stdcall_func(4, 5.6, 'b');
-+$ffi1->fastcall_func(7, 8.9, 'c');
-
- file_put_contents($headername, "#define FFI_LIB \"$dllname\"\n$header");
-
- $ffi2 = FFI::load($headername);
--$ffi2->cdecl_func(2, 3.4);
--$ffi2->stdcall_func(5, 6.7);
--$ffi2->fastcall_func(8, 9.1);
-+$ffi2->cdecl_func(2, 3.4, 'a');
-+$ffi2->stdcall_func(5, 6.7, 'b');
-+$ffi2->fastcall_func(8, 9.1, 'c');
- ?>
- --EXPECT--
--cdecl: 1, 2.300000
--stdcall: 4, 5.600000
--fastcall: 7, 8.900000
--cdecl: 2, 3.400000
--stdcall: 5, 6.700000
--fastcall: 8, 9.100000
-+cdecl: 1, 2.300000, a
-+stdcall: 4, 5.600000, b
-+fastcall: 7, 8.900000, c
-+cdecl: 2, 3.400000, a
-+stdcall: 5, 6.700000, b
-+fastcall: 8, 9.100000, c
- --CLEAN--
- <?php
- unlink(__DIR__ . '/callconv.h');
-