Nikita Popov
10eb842a64
Revert "Fix #79595 : zend_init_fpu() alters FPU precision"
...
This reverts commit 88dfc475c5 .
2020-05-22 16:57:14 +02:00
Christoph M. Becker
88dfc475c5
Fix #79595 : zend_init_fpu() alters FPU precision
...
On startup, PHP deliberately changes the floating point control word to
enforce binary64 format for the calculations for best consistency
across platforms. However, this is unnessary when compiling under
`__SSE__`, because in this case the x87 instructions are not used.
Therefore, we can skip the modification, which has the benefit that
system libraries are free to work in the mode of their liking.
2020-05-22 15:46:13 +02:00
Nikita Popov
4f47ba99f0
Fix bug #79603 , by retrying on RTD key collision
...
This is a non-intrusive fix for 7.4, still trying to find a good
solution for master.
Closes GH-5597.
2020-05-20 11:22:50 +02:00
Nikita Popov
8819d247c6
Don't require rc=1 for function static variables
...
If file cache only is used, then static_variables_ptr may point
to an immutable static_variables HT, which we do not want to
destroy here.
2020-05-20 11:12:18 +02:00
Nikita Popov
d87b0685b5
Fixed bug #79600
...
Missed unsetting of DO_INIT in one case.
2020-05-15 11:04:40 +02:00
Xinchen Hui
ccd41e0833
Fixed bug #97599 (coredump in set_error_handler)
2020-05-15 15:36:00 +08:00
Nikita Popov
3978d3a957
Canonicalize bison error during ini parsing
...
Bison 3.6 seems to use "end of file" rather than "$end" for this.
Force the same on older bison versions to be consistent.
2020-05-14 14:15:56 +02:00
Nikita Popov
21a9ad910b
Fixed bug #79548
...
When duplicating user functions with static variables, make sure
that we init a new map ptr slot for the static variables.
2020-05-04 16:27:45 +02:00
Xinchen Hui
5d3b7ac92c
Merge branch 'PHP-7.4' of git.php.net:/php-src into PHP-7.4
...
* 'PHP-7.4' of git.php.net:/php-src:
Fix #79532 : sizeof off_t can be wrong
Make 045.phpt busy wait
Revert "Fix #79065 : DOM classes do not expose properties to Reflection"
Bump version
Fix #79065 : DOM classes do not expose properties to Reflection
Fix #79470 : PHP incompatible with 3rd party file system on demand
2020-04-29 18:58:48 +08:00
Xinchen Hui
8555c2bff0
Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be called).
2020-04-29 18:58:28 +08:00
Christoph M. Becker
a2ed731fa5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79470 : PHP incompatible with 3rd party file system on demand
2020-04-27 09:31:38 +02:00
Christoph M. Becker
29968d8f99
Fix #79470 : PHP incompatible with 3rd party file system on demand
...
We add support for Activision HSM (`IO_REPARSE_TAG_ACTIVISION_HSM`) and
VFS for Git (`IO_REPARSE_TAG_PROJFS`). The latter fixes bug #78784 .
2020-04-27 09:30:57 +02:00
Christoph M. Becker
3151676f52
Fix #79514 : Memory leaks while including unexistent file
...
We have to destroy (un-opened) ZEND_HANDLE_FILENAMEs.
2020-04-24 18:14:53 +02:00
Dmitry Stogov
b2376be81d
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
zend_timeout() may access EX(opline)
2020-04-17 14:56:01 +03:00
Dmitry Stogov
d31ccb5fc8
zend_timeout() may access EX(opline)
2020-04-17 14:55:14 +03:00
Nikita Popov
58e6a0a602
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #79477
2020-04-15 11:21:42 +02:00
Nikita Popov
79a36ff7f3
Fixed bug #79477
...
Make sure to deindirect properties when creating array.
2020-04-15 11:21:05 +02:00
Nikita Popov
823a956855
Fixed bug #78434
...
The DO_INIT flag, which will skip the first resume on a primed
generator, should always be set when starting to yield from a
new generator, not only when the yield from happens during priming.
2020-04-09 10:33:11 +02:00
Nikita Popov
b3c7ab66fb
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #79434
2020-04-02 16:34:21 +02:00
Nikita Popov
cf68bc413b
Fixed bug #79434
2020-04-02 16:34:03 +02:00
Christoph M. Becker
33226c3a17
Next is 7.3.18
2020-03-31 10:22:55 +02:00
Dmitry Stogov
c5159b3832
Check asserts early
2020-03-12 22:26:30 +03:00
Dmitry Stogov
2dddab01ae
Avoid "Anonymous class wasn't preloaded" error by lazely loading of not preloaded part of a preloaded script
2020-03-12 16:31:24 +03:00
Christoph M. Becker
a72b261db5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79364 : When copy empty array, next key is unspecified
2020-03-11 08:55:28 +01:00
Christoph M. Becker
2462f2dab1
Fix #79364 : When copy empty array, next key is unspecified
...
We must not forget to keep the `nNextFreeElement` when duplicating
empty arrays.
2020-03-11 08:54:05 +01:00
Nikita Popov
760faa12b2
Fixed bug #79357
...
Peculiarly, for once the cause was not SOAPs "interesting" error
handling, but a bug in the call trampoline for internal functions...
2020-03-09 15:01:31 +01:00
Nikita Popov
c3ab8fd3f8
Add test for bug #63816
...
This has been fixed in PHP 7.4, add a test for it.
2020-03-06 11:16:47 +01:00
Christoph M. Becker
9dda3b9eb2
Next is 7.3.17
2020-03-03 10:19:31 +01:00
Nikita Popov
533633deda
Remove generated lexer
...
Accidentially committed this when merging from 7.3.
2020-02-28 17:25:47 +01:00
Nikita Popov
375191aae7
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #79062
2020-02-28 17:07:36 +01:00
Nikita Popov
6c48da9a50
Fixed bug #79062
...
Back up the doc comment when performing heredoc scanahead.
2020-02-28 17:06:05 +01:00
Dmitry Stogov
d9f56903ad
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed incorrect behavior of internal memory debugger
2020-02-27 12:27:58 +03:00
Dmitry Stogov
45b4368d5c
Fixed incorrect behavior of internal memory debugger
2020-02-27 12:27:22 +03:00
Nikita Popov
8c8f8c4193
Add test for bug #60161
...
This has been fixed in PHP 7.4, let's make sure it stays fixed.
2020-02-26 16:48:03 +01:00
Nikita Popov
1e50c81f6f
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #63206 : Fully support error/exception_handler stacking, even with null or inside the handler
2020-02-25 12:44:11 +01:00
Mark Plomer
8c6a7c3326
Fix #63206 : Fully support error/exception_handler stacking, even with null or inside the handler
...
Always push the current user_error/exception_handler to the stack,
even when it is empty, so restore_error_handler() always works as
expected.
The user_error_handler is especially temporarily empty when we are inside
the error handler, which caused inconsistent behaviour before.
2020-02-25 12:43:42 +01:00
Nikita Popov
5a5680c25b
Don't use asm arithmetic under msan
...
Clang 9 supports asm goto, so these no longer get automatically
skipped.
(cherry picked from commit 33bf1495b2 )
2020-02-21 11:58:52 +01:00
Xinchen Hui
6295ff77b7
Fixed bug #79244 (php crashes during parsing INI file). (Laruence)
...
Cherry-picked the fix(not sure why this wasn't merged to 7.4) for:
Fixed bug #77589 (Core dump using parse_ini_string with numeric sections)
Section name should not be typed(NULL, FALSE, TRUE etc)
Conflicts:
Zend/zend_ini_scanner.c
2020-02-10 13:01:51 +08:00
Dmitry Stogov
5d0ef4c239
Make opcodes to return de-refereced values of typed references (in the same was as for non-typed)
2020-02-06 15:48:54 +03:00
Christoph M. Becker
e3632fdc0d
Next is 7.3.16
2020-02-04 11:38:29 +01:00
Nikita Popov
58b17906f5
Apply tidy formatting
...
Mostly reindent PHP scripts to spaces.
2020-02-03 13:41:31 +01:00
Nikita Popov
27fb0b28dd
Add WHITESPACE_SENSITIVE run-tests section
...
This is used to indicate that the test should not be changed by
automated formatting changes.
2020-02-03 10:08:15 +01:00
Nikita Popov
d422478f6d
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix bug #76047
2020-01-31 10:29:45 +01:00
Nikita Popov
ef1e4891b4
Fix bug #76047
...
Unlink the current stack frame before freeing CVs or extra args.
This means it will no longer show up in back traces that are
generated during CV destruction.
We already did this prior to destructing the object/closure,
presumably for the same reason.
2020-01-31 10:26:40 +01:00
Dmitry Stogov
db7193f31e
Fixed bug #79094 (Crashing when running recursion function)
2020-01-31 10:34:04 +03:00
Pascal de Bruijn
f0f5c415a6
fix cross compilation failure due to size_t typecast in define
...
The following commit introduces a cross-compilation failure:
93c728b77c
"Try to control ZEND_MM_ALIGNED_SIZE type"
br-arm-full/build/php-7.4.2/Zend/zend_alloc.h:30:38:
error: missing binary operator before token "8"
^
br-arm-full/build/php-7.4.2/ext/opcache/ZendAccelerator.c:1380:7:
note: in expansion of macro ‘ZEND_MM_ALIGNMENT’
Closes GH-5128.
2020-01-30 15:51:54 +01:00
Nikita Popov
be7eab3202
Fix live range calculation for FE_FETCH
...
Op2 is def here, not a use, so treat it accordingly.
2020-01-30 14:23:46 +01:00
Nikita Popov
68596ed71e
Fix copying of functions in variance obligations
...
Only copy sizeof(zend_internal_function) for internal functions.
2020-01-30 11:55:38 +01:00
Nikita Popov
98deece6f7
Reset trampoline on executor startup
...
Make sure the trampoline is usable, even if we had an unclean
shutdown on the last request.
2020-01-30 11:05:04 +01:00
Nikita Popov
429f194f40
Fix UAF in is_callable() and allocated trampoline
...
By nulling out the function_handler, so it will not get used
below. Reuse the existing helper for this purpose.
2020-01-30 11:04:59 +01:00