Christoph M. Becker
ddf38fd764
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Improve FFI test suite for Windows
2020-03-18 17:01:30 +01:00
Christoph M. Becker
280485adc1
Improve FFI test suite for Windows
...
We add Windows support to four existing test cases, extract some useful
utility functions, and use them to simplify further test cases.
We also remove the Windows specific code from preload.inc, since
preloading isn't supported on Windows anyway.
2020-03-18 16:53:06 +01:00
Dmitry Stogov
10726588b1
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Export FFI::__BIGGEST_ALIGNMENT__
2020-03-12 11:45:05 +03:00
Dmitry Stogov
fee614f66b
Export FFI::__BIGGEST_ALIGNMENT__
2020-03-12 11:43:01 +03:00
Dmitry Stogov
c774ca8d80
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Allow to fetch function address
2020-03-12 11:41:12 +03:00
Dmitry Stogov
c45552e32b
Export FFI::__BIGGEST_ALIGNMENT__
2020-03-11 15:29:58 +03:00
Dmitry Stogov
e902e4acd9
Allow to fetch function address
2020-03-11 15:13:27 +03:00
Máté Kocsis
960318ed95
Change argument error message format
...
Closes GH-5211
2020-02-26 15:00:08 +01:00
Máté Kocsis
ac0853eb26
Make type error messages more consistent
...
Closes GH-5092
2020-02-17 14:22:17 +01:00
Dmitry Stogov
53fc8ef41d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Disable instantiation of zero size FFI\CData objects
Fix # 79171: heap-buffer-overflow in phar_extract_file
Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
2020-02-17 12:54:11 +03:00
Dmitry Stogov
54ecf57fe2
Disable instantiation of zero size FFI\CData objects
2020-02-17 12:48:55 +03:00
Nikita Popov
f8d795820e
Reindent phpt files
2020-02-03 22:52:20 +01:00
Máté Kocsis
d1764ca330
Make error messages more consistent by fixing capitalization
...
Closes GH-5066 As a first step, let's capitalize their initial letter when it is applicable.
2020-01-17 14:52:46 +01:00
Christoph M. Becker
127d6f3f39
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79096 : FFI Struct Segfault
2020-01-14 16:47:24 +01:00
Christoph M. Becker
05f3cd23ed
Fix #79096 : FFI Struct Segfault
...
We must not assume that the size of a function's return value is at
most `sizeof(ffi_arg)`, but rather have to use the size which already
has been determined for the return type if it is larger than
`sizeof(ffi_arg)`.
To be able to have a regression test, we export the required test
function from the zend-test extension, and make sure that the test
can be run on different platforms regardless of whether zend-tests was
built statically or dynamically.
2020-01-14 16:46:58 +01:00
Nikita Popov
9b6c0bdcd6
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Remove support for preloading on Windows
2020-01-06 22:42:31 +01:00
Nikita Popov
59c3ddab13
Remove support for preloading on Windows
...
Due to ASLR restrictions, preloading on Windows does not work with
any code that has preloading dependencies on internal classes.
This effectively makes it unusable for any non-trivial codebase.
Instead of pretending like preloading is going to work, only to
make people realize that it really doesn't once they get beyond
a dummy example, we disable support for preloading on Windows
entirely.
Closes GH-4999.
2020-01-06 22:41:55 +01:00
Christoph M. Becker
3fafa19777
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Skip test for clang builds
2019-12-27 15:11:51 +01:00
Christoph M. Becker
58cc66e175
Skip test for clang builds
...
On Windows, clang builds don't use __vectorcall, so executing this test
does not make sense.
2019-12-27 15:09:19 +01:00
Christoph M. Becker
2804ea6127
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix test case for Windows
2019-11-11 12:56:55 +01:00
Christoph M. Becker
ce047e6091
Fix test case for Windows
2019-11-11 12:49:32 +01:00
Dmitry Stogov
6e9dd13d63
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed bug #78714 (funcs returning pointer can't use call convention spec)
2019-11-11 12:09:47 +03:00
Dmitry Stogov
ecd0c5b6ad
Fixed bug #78714 (funcs returning pointer can't use call convention spec)
2019-11-11 12:07:48 +03:00
Christoph M. Becker
fe13066403
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78761 : Zend memory heap corruption with preload and casting
2019-10-30 19:50:22 +01:00
Christoph M. Becker
0055f1e3dc
Fix #78761 : Zend memory heap corruption with preload and casting
...
We have to reset `FFI_G(persistent)` back to zero when preloading has
finished.
2019-10-30 19:49:39 +01:00
Christoph M. Becker
9b817264eb
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78762 : Failing FFI::cast() may leak memory
2019-10-30 17:22:56 +01:00
Christoph M. Becker
1e2d3d58a8
Fix #78762 : Failing FFI::cast() may leak memory
...
We have to release objects when we're done with them.
2019-10-30 17:21:58 +01:00
Christoph M. Becker
22523958f4
Skip test case on non Windows platforms
2019-10-29 10:05:31 +01:00
Christoph M. Becker
657f7e898d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Skip test case on non Windows platforms
2019-10-29 09:57:27 +01:00
Christoph M. Becker
c5e1a0454f
Skip test case on non Windows platforms
2019-10-29 09:53:44 +01:00
Christoph M. Becker
3dbb90b07e
Fix test cases for master
2019-10-29 09:35:16 +01:00
Christoph M. Becker
6c078d8bd5
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Implement #78270 : Support __vectorcall convention with FFI
2019-10-29 08:58:17 +01:00
Christoph M. Becker
bedbecf56d
Implement #78270 : Support __vectorcall convention with FFI
...
To work around the limitation of the current rudimentary vectorcall
support in our patched libffi, we forbid yet unsupported declarations,
i.e. float/double parameters at certain positions (SIMD vector types
and HVA types are not supported anyway).
2019-10-29 08:57:43 +01:00
Remi Collet
ff09d39328
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Added suppot for glob() wildcard matching in ffi.preload directive
Reverting push to wrong repo
Update alloc patch
2019-10-24 07:40:27 +02:00
Dmitry Stogov
fea8c5481b
Added suppot for glob() wildcard matching in ffi.preload directive
2019-10-24 07:40:07 +02:00
Dmitry Stogov
626a5837c0
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Allow loading FFI bindings through ffi.preload directive
2019-10-22 17:53:24 +03:00
Dmitry Stogov
1417352dda
Allow loading FFI bindings through ffi.preload directive
2019-10-22 17:52:56 +03:00
Christoph M. Becker
c6cdfa967c
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78716 : Function name mangling is wrong for some parameter types
2019-10-22 11:39:40 +02:00
Christoph M. Becker
1c9bfcb6a7
Fix #78716 : Function name mangling is wrong for some parameter types
...
We have to cater to function parameter alignment when calculating the
parameter size.
2019-10-22 11:38:58 +02:00
Christoph M. Becker
d6ef63db53
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78543 : is_callable() on FFI\CData throws Exception
2019-09-19 09:17:53 +02:00
Christoph M. Becker
9dfbcd7248
Fix #78543 : is_callable() on FFI\CData throws Exception
...
If `Z_OBJ_HANDLER_P(callable, get_closure)` throws, we must not let the
exeception pass to userland, if called through `is_callable()`.
2019-09-19 09:13:22 +02:00
Nikita Popov
2cafaab885
Merge branch 'PHP-7.4'
2019-09-17 13:15:01 +02:00
Nikita Popov
d266ba4f2d
Check for exception after calling count_values()
...
To avoid a duplicate error if count_values() throws.
2019-09-17 13:13:44 +02:00
Dmitry Stogov
0128f6eb84
Merge branch 'PHP-7.4'
...
* PHP-7.4:
NEWS entry, test and minor cleanup for FFI::isNull()
add FFI::isNull() to check whether a FFI\CData is a null pointer
2019-09-10 11:34:08 +03:00
Dmitry Stogov
21c3cdf668
NEWS entry, test and minor cleanup for FFI::isNull()
2019-09-10 11:23:12 +03:00
Christoph M. Becker
85f253ae4f
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Support calling convention specific function name mangling
2019-08-04 12:14:31 +02:00
Christoph M. Becker
1ed9ebdea5
Support calling convention specific function name mangling
...
On Windows certain calling conventions cause C function names to be
mangled, so to import them we have to use the properly mangled names.
2019-08-04 12:14:11 +02:00
Dmitry Stogov
5dbcbab4cc
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Remove XFAIL mark
2019-06-17 14:56:42 +03:00
Dmitry Stogov
938d2359ae
Remove XFAIL mark
2019-06-17 14:56:28 +03:00
Joe Watkins
956db0cdc2
Merge branch 'PHP-7.4'
...
* PHP-7.4:
fix mac tests on azure
2019-06-14 12:58:13 +02:00