summaryrefslogtreecommitdiff
path: root/Zend
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-211-4/+12
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix bug #80537
| * | Fix bug #80537Nikita Popov2020-12-211-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | This is an unavoidable breaking change to both the type and parameter name. The assertion that was supposed to prevent this was overly lax and accepted any object type for string parameters.
* | | Fix ubsan error on MacLevi Morrison2020-12-161-1/+1
| | | | | | | | | | | | | | | Fixes this error: > Zend/zend_alloc.c:473:73: runtime error: left shift of 250 by 24 places cannot be represented in type 'int'
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-161-0/+13
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: PDO MySQL: Use mysqlnd column names
| * | PDO MySQL: Use mysqlnd column namesNikita Popov2020-12-161-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | mysqlnd already creates interned zend_strings for us, so let's make use of them. This also required updating the PDO case changing code to work with potentially shared strings. For the lowercasing, use the optimized zend_string_tolower() implementation.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-161-3/+3
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix bug #80523
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-12-161-3/+3
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix bug #80523
| | * Fix bug #80523Nikita Popov2020-12-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Don't truncate the file length to unsigned int... I have no idea whether that fully fixes the problem because the process gets OOM killed before finishing, but at least the immediate parse error is gone now.
| * | Next is 8.0.2Gabriel Caruso2020-12-151-1/+1
| | |
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-152-3/+4
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: IBM i PASE doesn't support ITIMER_PROF
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-12-152-3/+4
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: IBM i PASE doesn't support ITIMER_PROF
| | * IBM i PASE doesn't support ITIMER_PROFCalvin Buckley2020-12-152-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like Cygwin, this platform needs to use a real-time timer. This was based on a patch by @kadler, but it didn't handle unsetting the timer, so the timeout would continue to be active, triggering `hard_timeout` unexpectedly. The patch is fixed to handle unsetting. Closes GH-6503.
* | | Add more tests that document late static bindingjellyNoone2020-12-152-0/+51
| | | | | | | | | | | | Closes GH-6515.
* | | Merge branch 'PHP-8.0'twosee2020-12-101-2/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: EXTERN_C wrapping for GC buffer APIs
| * | EXTERN_C wrapping for GC buffer APIstwosee2020-12-101-2/+2
| | | | | | | | | | | | Closes GH-6502.
* | | Fix typo 'variabled' in named_params/undef_var.phpthgsgtk2020-12-091-1/+1
| | | | | | | | | | | | Closes GH-6499.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-041-0/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix removal of type source during unserialization
| * | Fix removal of type source during unserializationNikita Popov2020-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | | Missed a check for info in this code. Add it, and add an assertion in type source removal to make it easier to catch this issue. Fixes oss-fuzz #28208 and #28257.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-021-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fixed bug #80462
| * | Fixed bug #80462Nikita Popov2020-12-021-1/+1
| | |
* | | Flesh out HashTable insertion APIsSara Golemon2020-12-013-3/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fills out the array/object-property insert helpers for zend_array, zend_object, and zend_reference. This adds the following matrix of 18 APIs add_next_index_T() add_index_T() add_assoc_T() add_assoc_T_ex() add_property_T() add_property_T_ex() Where T in array, object, reference Converted internal callsites currently doing an explicit object wrap.
* | | Merge branch 'PHP-8.0'Dmitry Stogov2020-12-012-2/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Disable stack reuse optimization for x86 PIC code. It may clobber local variable used for Global Offset Table.
| * | Disable stack reuse optimization for x86 PIC code. It may clobber local ↵Dmitry Stogov2020-12-012-2/+2
| | | | | | | | | | | | variable used for Global Offset Table.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-012-1/+13
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Don't use scope when validating Attribute
| * | Don't use scope when validating AttributeNikita Popov2020-12-012-1/+13
| | | | | | | | | | | | | | | | | | | | | This is not safe to do at this point. Even if we made it safe, we'd see inconsistencies due to a partially compiled class. Fixes oss-fuzz #28129.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-011-1/+3
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix use after free with file cache and arena allocated strings
| * | Fix use after free with file cache and arena allocated stringsNikita Popov2020-12-011-1/+3
| | |
* | | Add const modifier for zend_extension memberscodinghuang2020-12-011-5/+5
| | | | | | | | | | | | Closes GH-6462.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-12-011-16/+16
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Don't mark cpu_supports functions as always inline
| * | Don't mark cpu_supports functions as always inlineNikita Popov2020-12-011-16/+16
| | | | | | | | | | | | | | | | | | The use of no-sanitize may result in an inlining failure, which will be promoted into a compile error by always-inline. Use a normal inlining hint without enforcing it.
* | | Merge branch 'PHP-8.0'Dmitry Stogov2020-11-304-14/+69
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Preallocate stack space for JIT in execute_ex() to eliminate JIT prologue/epilogue.
| * | Preallocate stack space for JIT in execute_ex() to eliminate JIT ↵Dmitry Stogov2020-11-304-14/+69
| | | | | | | | | | | | prologue/epilogue.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-271-4/+10
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix build for non-x86
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-11-271-4/+10
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix build for non-x86
| | * Fix build for non-x86Nikita Popov2020-11-271-4/+10
| | |
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-271-0/+37
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix AVX detection
| * | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2020-11-271-0/+37
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix AVX detection
| | * Fix AVX detectionNikita Popov2020-11-271-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our CPU detection code currently only checks whether hardware support for AVX exists. However, we also need to check for operating system support for XSAVE, as well as whether XCR0 has the SSE and AVX bits set. If this is not the case, unset the AVX and AVX2 bits in the cpuinfo structure. Hopefully this resolves our issues with CPU support detection. Closes GH-6460.
| | * Fixed bug #80362: Running dtrace scripts can cause php to crashNikita Popov2020-11-241-1/+3
| | | | | | | | | | | | Patch by al at coralnet dot name.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-271-15/+14
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Make sure zend_cpu_supports_pclmul() is always defined
| * | Make sure zend_cpu_supports_pclmul() is always definedNikita Popov2020-11-271-15/+14
| | | | | | | | | | | | | | | If __builtin_cpu_supports() is available, but doesn't have support for pclmul, the function would end up not being defined at all.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-272-3/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | * PHP-8.0: Avoid direct calls to zend_cpu_supports() Assert that cpuinfo is initialized before use Move avx check into a macro
| * | Assert that cpuinfo is initialized before useNikita Popov2020-11-272-3/+4
| | | | | | | | | | | | And fix some incorrect indentation.
| * | Remove -dev from ZEND_VERSIONSara Golemon2020-11-261-1/+1
| | |
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-251-6/+0
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fixed bug #80377
| * | Fixed bug #80377Nikita Popov2020-11-251-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure the $PHP_THREAD_SAFETY variable is always available when configuring extensions. It was previously available for phpized extensions, but for in-tree builds it was being set too late. Then, use $PHP_THREAD_SAFETY instead of $enable_zts to check for ZTS in bundled extensions, which makes sure these checks also work for phpize builds.
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-241-0/+11
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fixed bug #80404
| * | Fixed bug #80404Nikita Popov2020-11-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a division like [1..1]/[2..2] produce [0..1] as a result, which would be the integer envelope of the floating-point result. The implementation is pretty ugly (we're now taking min/max across eight values...) but I couldn't come up with a more elegant way to handle this that doesn't make things a lot more complex (the division sign handling is the annoying issue here).
* | | Merge branch 'PHP-8.0'Nikita Popov2020-11-242-0/+27
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fixed bug #80391
| * | Fixed bug #80391Nikita Popov2020-11-242-0/+27
| | | | | | | | | | | | | | | Iterable was not considered a subtype of array|object, and thus also not a subtype of mixed.