Michael Voříšek
f26f6d9479
Add test for backtrace with aliased trait ( #8705 )
2022-06-30 19:59:33 +02:00
Javier Eguiluz
14ced88c17
[ci skip] Fix typo (anough → enough)
...
Closes GH-8901.
2022-06-30 17:27:39 +02:00
George Peter Banyard
9a7d37ac66
Use size_t for get_ps_title() length parameter
2022-06-30 13:23:13 +01:00
George Peter Banyard
b468d6fb54
Use bool and rename variable for ease of comprehension in ps_title.c
2022-06-30 13:23:13 +01:00
Dmitry Stogov
4c37b74c28
Add NEWS entry
2022-06-30 10:52:20 +03:00
Dmitry Stogov
17aa81a5e2
Allocate JIT bufer close to PHP .text segment to allow using direct IP-relative calls and jumps ( #8890 )
...
This implementation is based on https://github.com/php/php-src/pull/8618 developed by Su Tao, Wang Xue, Chen Hu and Lizhen Lizhen.
2022-06-30 10:49:24 +03:00
David Carlier
7ceae66182
streams/xp_socket: fix clang build error with enum usage on bool condition.
...
Fix targeted for oses defining those flags as enums (like Linux/glibc).
`error: converting the enum constant to a boolean [-Werror,-Wint-in-bool-context]
} else if ((!sslsock->ssl_active && value == 0 && (MSG_DONTWAIT || !sslsock->s.is_blocked)) ||`
Closes #8895 .
2022-06-30 05:45:33 +01:00
twosee
b09420e3a8
Fix zend_atomic_bool_exchange_ex() in HAVE_NO_ATOMICS case ( #8801 )
2022-06-30 11:54:47 +08:00
Max Kellermann
e2bd3b1e99
main/streams/plain_wrapper: skip lseek(SEEK_CUR) for newly opened files
...
A file that has just been opened is known to be at offset zero, and
the lseek(SEEK_CUR) system call to determine the current offset can be
skipped.
Closes #8540 .
2022-06-29 18:11:01 +01:00
Michael Voříšek
c756e978c4
Improve tests on 32bit
...
The watch_*.phpt test apparently no longer fail on 32bit, so we remove
the XFAIL conditions. bug77269.phpt is practically identical to
bug77272.phpt, and there seems no particular reason to have an
additional test for libgd ≤ 2.2.5.
Closes GH-8448.
2022-06-29 14:04:40 +02:00
Dmitry Stogov
e01586ac4f
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix incorrect condition introdused in 7cf6f17383
2022-06-29 13:09:22 +03:00
Dmitry Stogov
af75eab0ef
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix incorrect condition introdused in 7cf6f17383
2022-06-29 13:09:14 +03:00
Dmitry Stogov
d66d477d6f
Fix incorrect condition introdused in 7cf6f17383
2022-06-29 13:08:18 +03:00
Dmitry Stogov
7e32033331
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:16:20 +03:00
Dmitry Stogov
b7693360cb
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:13:03 +03:00
Dmitry Stogov
7cf6f17383
Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:10:46 +03:00
George Peter Banyard
9bae9ab3a4
Fix GH-8861: correctly handle string lengths in SplFileinfo methods ( #8869 )
...
* Fix GH-8861: correctly handle string lengths in \SplFileinfo::getBasename
Co-authored-by: M. Vondano <m-vo@users.noreply.github.com >
2022-06-28 15:42:59 +01:00
Remi Collet
63c7418b91
[ci skip] NEWS and UPGRADING
2022-06-28 15:19:56 +02:00
Remi Collet
2223853c58
implement fseek for zip stream when possible with libzip 1.9.1
2022-06-28 15:17:27 +02:00
Chen, Hu
d8de067b0f
JIT: Add IBT support ( #8774 )
...
Indirect Branch Tracking (IBT) is part of Intel's Control-Flow
Enforcement Technology (CET). IBT is hardware based, forward edge
Control-Flow-Integrity mechanism where any indirect CALL/JMP must target
an ENDBR instruction or suffer #CP.
This commit adds IBT support for JIT:
1. Add endbr32/64 instruction in Dynasm.
2. Insert endbr32/64 in indirect branch target for jitted code.
gcc support CET since v8.1 and set it to default since gcc 11. With this
commit, endbr is inserted in jitted code if PHP is compiled with "gcc
-fcf-protection=full/branch".
Signed-off-by: Chen, Hu <hu1.chen@intel.com >
2022-06-28 08:42:19 +03:00
David Carlier
da523060fb
Merge branch 'PHP-8.1'
2022-06-27 23:36:54 +01:00
David Carlier
3eead43b6d
Merge branch 'PHP-8.0' into PHP-8.1
2022-06-27 23:36:05 +01:00
Heiko Weber
325ca31dcf
FPM: zlog, fix free on wrong address for message prepend.
2022-06-27 23:34:58 +01:00
Christoph M. Becker
84c160dd90
Increase test portability
...
The test as is can only work if com_dotnet is built dynamically, and
not already loaded via the php.ini file. While this is given on
AppVeyor, it may not be given in other environments.
Closes GH-8879.
2022-06-27 17:12:42 +02:00
Dmitry Stogov
f0cae1acc1
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT
2022-06-27 16:42:36 +03:00
Dmitry Stogov
7e23c838e2
Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT
2022-06-27 16:41:53 +03:00
Dmitry Stogov
ad40fffd36
Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT
2022-06-27 14:25:30 +03:00
David CARLIER
bf29ee6917
Add reallocarray implementation.
...
In a similar model as _safe_*alloc api but for the `userland` it guards
against overflow before (re)allocation, usage concealed in fpm for now.
Modern Linux and most of BSD already have it.
Closes #8871 .
2022-06-26 13:10:13 +01:00
Ilija Tovilo
3b92a96610
Convert return type of various object handlers from int to zend_result ( #8755 )
2022-06-26 01:00:19 +02:00
Derick Rethans
30cc0c1742
Merge branch 'PHP-8.1'
2022-06-25 17:53:33 +01:00
Derick Rethans
49a3cc63dd
Merge branch 'PHP-8.0' into PHP-8.1
2022-06-25 17:53:26 +01:00
Derick Rethans
7166932bab
Merge remote-tracking branch 'derickr/bug80047' into PHP-8.0
2022-06-25 17:52:56 +01:00
Derick Rethans
973c3f6e24
Fixed #80047 : DatePeriod doesn't warn with custom DateTimeImmutable
2022-06-25 17:52:14 +01:00
Ilija Tovilo
76fcd70c13
Fix enum preloading again ( #8859 )
2022-06-25 14:55:46 +02:00
David Carlier
42c57123e9
Merge branch 'PHP-8.1'
2022-06-25 07:40:19 +01:00
David Carlier
af6325f68e
Merge branch 'PHP-8.0' into PHP-8.1
2022-06-25 07:39:55 +01:00
Grégoire Paris
13f55d5c1b
Use proper grammar in error message
...
Drop period in error messages
2 reasons:
- These error messages are not regular sentences.
- Having the offending value between parenthesis after the period looks weird.
Closes GH-8858.
2022-06-25 07:39:31 +01:00
Ilija Tovilo
982d8fd19b
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Add test coverage job
2022-06-24 15:11:56 +02:00
Ilija Tovilo
fa6953d307
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Add test coverage job
2022-06-24 15:11:33 +02:00
George Peter Banyard
20638dba3f
Use the passed 'this' pointer instead of ZEND_THIS ( #8854 )
...
Removes the horrible hack usage of defining execute_data to be able to use ZEND_THING
2022-06-24 03:38:29 +01:00
Ilija Tovilo
b7f0950ffe
Add test coverage job
2022-06-24 00:19:35 +02:00
Ilija Tovilo
bc03deec27
Fix magic constants in backed enum values
...
Fix GH-8777
2022-06-23 19:17:44 +02:00
Ilija Tovilo
d9e1871c85
Fix leak of backed_enum_table with preloading
2022-06-23 19:17:44 +02:00
Ilija Tovilo
912c22cca0
Fix segfault when using preloaded enums
2022-06-23 19:17:44 +02:00
Ilija Tovilo
45210b4729
Fix segfault when calling from/tryFrom on empty enum
2022-06-23 19:17:44 +02:00
Ilija Tovilo
50a3cb7cea
Get rid of duplicated rotr3 implementation ( #8853 )
2022-06-23 19:09:48 +02:00
Ilija Tovilo
1453dde423
Remove zend_shared_alloc_pages declaration that was never implemented ( #8852 )
2022-06-23 19:08:44 +02:00
Máté Kocsis
56137cd26e
Declare ext/mbstring constants in stubs ( #8798 )
2022-06-23 17:34:08 +02:00
Ilija Tovilo
cda7e8f1ec
Replace another hard-coded line number
2022-06-23 16:48:17 +02:00
Ilija Tovilo
9bfdfcac8f
Replace more hard-coded line numbers
2022-06-23 16:28:42 +02:00