Christoph M. Becker
22d700b66a
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix test in case fallocate(1) is available, but fails
2021-06-17 19:08:58 +02:00
Christoph M. Becker
3374adcd14
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix test in case fallocate(1) is available, but fails
2021-06-17 19:06:18 +02:00
Christoph M. Becker
99e7c5cea8
Fix test in case fallocate(1) is available, but fails
...
That happens on Travis s390x for whatever reasons. Thus, instead of
checking for `fallocate -h`, we attempt the real allocation and skip if
that fails.
2021-06-17 19:05:07 +02:00
Dmitry Stogov
d72c320ff6
JIT/ARM64: Fixed possible incorrect register allocation
2021-06-17 18:43:15 +03:00
Dmitry Stogov
c02d7c4de8
Merge branch 'PHP-8.0'
...
* PHP-8.0:
JIT/x86: Fixed possible incorrect register allocation
2021-06-17 18:42:57 +03:00
Dmitry Stogov
ced8e88438
JIT/x86: Fixed possible incorrect register allocation
2021-06-17 18:42:11 +03:00
Joe Watkins
6318040df2
remove specialized printing from phpdbg ( #7156 )
2021-06-17 14:22:33 +02:00
Dmitry Stogov
82bcc9b497
JIT/ARM64: Fixed "may be used uninitialized" compilation warning
2021-06-17 15:08:14 +03:00
Dmitry Stogov
6442cbfbc4
Merge branch 'PHP-8.0'
...
* PHP-8.0:
JIT: Fixed failures of tracing JIT with CALL VM
2021-06-17 14:26:36 +03:00
Dmitry Stogov
1082669e24
JIT: Fixed failures of tracing JIT with CALL VM
...
This fixes:
- tests/lang/bug28800.phpt
- Zend/tests/settype_resource.phpt
- Zend/tests/type_declarations/scalar_return_basic_64bit.phpt
2021-06-17 14:21:40 +03:00
Christoph M. Becker
83517340f6
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #81145 : copy() and stream_copy_to_stream() fail for +4GB files
2021-06-17 13:18:59 +02:00
Christoph M. Becker
8daed6d0f2
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #81145 : copy() and stream_copy_to_stream() fail for +4GB files
2021-06-17 13:16:30 +02:00
Christoph M. Becker
2555efadbc
Fix #81145 : copy() and stream_copy_to_stream() fail for +4GB files
...
When mapping the file, we need to pass the proper `dwFileOffsetHigh`
instead of `0`.
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com >
Closes GH-7158.
2021-06-17 13:13:47 +02:00
Alex Dowad
b1ab76f742
Minor formatting tweaks in mbfilter_euc_kr.c
2021-06-17 13:12:40 +02:00
Alex Dowad
958ef47d2b
When flushing CP5022x conversion filter, also flush next filter in chain
...
All the mbstring encoding conversion filters do this. I missed it when
adding a flush function for CP5022x.
2021-06-17 13:12:40 +02:00
Alex Dowad
caeaa662ab
Strict conversion of UHC text to Unicode
...
Previously, mbstring would accept a lot of things which were not valid
UHC text. No more.
- Don't allow single-byte control characters to appear where the 2nd
byte of a multi-byte character should be.
- Validate that the 2nd byte of a multi-byte character is in the
expected range.
- Treat it as an error if a multi-byte character is truncated.
Also add a test suite to confirm that UHC conversion (both to and from
Unicode) works according to spec.
2021-06-17 13:12:40 +02:00
Alex Dowad
4550036d96
Minor formatting tweaks in mbfilter_uhc.c
2021-06-17 13:12:40 +02:00
Alex Dowad
9868c17368
Mark CP932 and CP51932 encoding tests as 'slow tests'
2021-06-17 13:12:40 +02:00
Alex Dowad
e2459857af
Remove duplicate implementation of CP932 from mbstring
...
Sigh. Double sigh. After fruitlessly searching the Internet for information on
this mysterious text encoding called "SJIS-open", I wrote a script to try
converting every Unicode codepoint from 0-0xFFFF and compare the results from
different variants of Shift-JIS, to see which one "SJIS-open" would be most
similar to.
The result? It's just CP932. There is no difference at all. So why do we have
two implementations of CP932 in mbstring?
In case somebody, somewhere is using "SJIS-open" (or its aliases "SJIS-win" or
"SJIS-ms"), add these as aliases to CP932 so existing code will continue to
work.
2021-06-17 13:12:40 +02:00
Alex Dowad
7502c86342
Add test suite for UTF-{7,8,16,32}
...
Also fix a couple small problems with UTF-32 and UTF-8 support:
- UTF-32 would pass very large codepoints (>= 0x80000000), which are
not valid.
- UTF-8 would sometimes emit two error marker characters for a single
bad input byte.
2021-06-17 13:12:40 +02:00
Dmitry Stogov
cc0aac3f73
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fixed incorrect type inference for "(array)$null".
2021-06-17 13:05:45 +03:00
Dmitry Stogov
df16fd149b
Fixed incorrect type inference for "(array)$null".
2021-06-17 13:03:09 +03:00
Nikita Popov
deb7955bf4
Fix #81150 Add UPGRADING note for float to int deprecation
...
[ci skip]
2021-06-17 09:52:44 +02:00
Alex Dowad
5d37cd97e4
Improve documentation for contributors
2021-06-17 06:29:38 +02:00
Nikita Popov
0d6358f2cf
Drop support for printf p modifier
...
To be conservative, cause a fatal error if the p modifier is
encountered, in case this is still used by some extension.
2021-06-16 17:59:00 +02:00
Nikita Popov
7eec57c263
Test ARM64 JIT on Travis ( #7157 )
...
Run tests with tracing JIT, function JIT and tracing JIT under --repeat 2.
As the overall build with three test runs only takes ~15m, I'm enabling this unconditionally, rather than just for nightly builds.
2021-06-16 17:13:46 +02:00
Nikita Popov
c492c90a6e
Fix mysqlnd debug formats on 32-bit
2021-06-16 17:08:20 +02:00
Nikita Popov
57f06b6058
Fix more mysqlnd debug printf formats
...
These didn't show up on my system...
2021-06-16 16:23:30 +02:00
Nikita Popov
3acdab864d
Fix printf formats in mysql debug logging
...
Enable printf format verification and fix the reported errors.
2021-06-16 16:09:06 +02:00
Dmitry Stogov
3a78259525
JIT: Avoid too aggressive loop unrolling
...
This fixes tests/func/010.phpt failure with tracing JIT on ARM64.
2021-06-16 16:44:27 +03:00
Nikita Popov
591dcdbdb0
Use different error condition in ACCEL_LOG_FATAL test
...
This test fails on s390x with opcache. Presumably the large allocation
works fine there as long as it's not used.
Switch to a different error condition that produces a more reliable
failure.
2021-06-16 13:08:54 +02:00
Christoph M. Becker
46a6d481d3
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #72809 : Locale::lookup() wrong result with canonicalize option
2021-06-16 10:38:14 +02:00
Christoph M. Becker
13f3999a77
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #72809 : Locale::lookup() wrong result with canonicalize option
2021-06-16 10:36:51 +02:00
Christoph M. Becker
0f1b17e378
Fix #72809 : Locale::lookup() wrong result with canonicalize option
...
Canonicalization converts the locale to ICU format[1]. However, the
lookup described in RFC 4647, section 3.4, is about POSIX format. To
make that lookup work for ICU format, we also need to cater to keyword
separators.
The results are somewhat unexpected, but apparently canonical lookup is
explicitly supposed to return canonical language tags[2].
[1] <https://unicode-org.github.io/icu/userguide/locale/#canonicalization >
[2] <https://github.com/php/php-src/blob/php-7.4.20/ext/intl/locale/locale_methods.c#L1504 >
Closes GH-7151.
2021-06-16 10:33:59 +02:00
Dmitry Stogov
8ae06582c6
Fixed incorrect map_ptr slots counting
2021-06-16 11:33:43 +03:00
Derick Rethans
e63ed9d0da
Merge branch 'PHP-8.0'
2021-06-15 19:53:03 +01:00
Derick Rethans
77bfe96109
Merge branch 'PHP-7.4' into PHP-8.0
2021-06-15 19:52:14 +01:00
Derick Rethans
8370a084e4
Prepare for 7.4.22
2021-06-15 19:52:02 +01:00
Aaron Piotrowski
5d4f05527b
Drop fiber block hooks
...
Removes the ability for an extension to allow Fiber switching in blocked contexts.
See discussion on fdc22744a8 .
2021-06-15 08:58:07 -05:00
Nikita Popov
b64213872a
Fix missing error for single index unset on wrong type
...
The error was correctly thrown for a nested index, but not for a
single index. Make sure both have the same behavior.
2021-06-15 14:41:11 +02:00
Nikita Popov
34257e1cfc
Remove unnecessary IS_UNUSED check
...
This operand cannot be UNUSED.
2021-06-15 14:27:41 +02:00
Nikita Popov
0eafc97d29
Fix prototype
2021-06-15 10:08:50 +02:00
Joe Watkins
ba3c8027bc
Adds zend_fiber_startup at the right stage, moves setting of switch hooks
...
to correct stage
In a threaded environment, these ought to be set before any threads are
created, and they ought to be set once.
2021-06-15 09:56:15 +02:00
Joe Watkins
f46063495d
reset blocking state on init
2021-06-15 09:41:36 +02:00
Gabriel Caruso
b81c3b5b1c
Prepare for PHP 8.0.9
2021-06-15 09:19:13 +02:00
Christoph M. Becker
139a73b5a4
Improve performance of AppVeyor test runs
...
We only load a minimum set of extensions, and rely on dynamic loading
of others due to `--EXTENSION--` triggers. We do not run the imap,
ldap and snmp test suites, because most of the tests would be skipped
after timeouts anyway.
Closes GH-7150.
2021-06-14 23:36:17 +02:00
Aaron Piotrowski
859524c246
Remove fiber context embedding
2021-06-14 14:34:36 -05:00
Aaron Piotrowski
fdc22744a8
Add API to prevent Fiber switch in select contexts
...
Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com >
2021-06-14 14:19:00 -05:00
Nikita Popov
9871a624bf
Clean up some more function_exists() checks
2021-06-14 15:47:08 +02:00
Nikita Popov
892421c9a8
Make some zend_test dependencies explicit
...
Rather than checking that specific functions exist.
2021-06-14 15:40:34 +02:00