1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 02:33:17 +02:00
Commit Graph

118803 Commits

Author SHA1 Message Date
Dmitry Stogov d60988257b Fixed JIT for SEND_VAR $undefined_cv 2020-05-25 18:24:50 +03:00
Dmitry Stogov 4aa8678306 ZEND_ACC_IMMUTABLE may be reset for closures 2020-05-25 17:45:13 +03:00
Dmitry Stogov bfc56ed511 Keep trace number in EG(jit_trace_num) instead of EG(reserved)[zend_func_info_rid] 2020-05-25 17:05:26 +03:00
Dmitry Stogov 3376f19742 Check for ZEND_HANDLE_EXCEPTION opcode before accessing opline trace info. 2020-05-25 16:45:45 +03:00
Dmitry Stogov 201491e61b Replace warning code by side exit to VM 2020-05-25 15:14:27 +03:00
Dmitry Stogov b35a9a4ce6 Reorder conditions to save one instruction in recursive return loop 2020-05-25 12:55:03 +03:00
Christoph M. Becker ce668c0ec6 PGSQL and POD_SQL: don't include pg_config.h
Even if that header file is available, we better consider it private,
and don't include it.  The information about whether SSL support is
enabled is now missing (`USE_(OPEN)SSL`), and it seems there is no
alternative way to get it (`PQinitSSL()` is always defined), so we
remove it from the PHP info.  Furthermore, the `PG_VERSION` and
`PG_VERSION_STR` macros are no longer available, but as of libpq 9.1
there is `PQlibVersion()` which allows us to construct `PG_VERSION` in
a most likely backwards compatible manner.  The additional information
available through `PG_VERSION_STR` is lost, though, so we define
`PGSQL_LIBPQ_VERSION_STR` basically as alias of `PGSQL_LIBPQ_VERSION`,
and deprecate it right away.

Since we are now requiring at least libpq 9.1, we can remove some
further compatibility code and additional checks.

Regarding the raised requirements: official support for PostGreSQL 9.0
ended on 2015-10-08, and even CentOS 7 already has PostGreSQL 9.2, so
this is not supposed to be too much of an issue.
2020-05-25 10:48:35 +02:00
Tyson Andre f3efb9e3fb Fail in ./configure when no opcache shm backends exist
This can be seen when the `./configure` step fails to detect `HAVE_SHM_*`,
e.g. due to missing a necessary dependency to compile the test scripts.
(Run `./configure`, run `yum install libtool-ltdl-devel` for missing dependencies,
then run `make`, and php can end up built with 0 shared memory opcache caches)

Give a clearer error message than `unknown`
Searching for `opcache "Fatal Error Unable to allocate shared memory segment of"
"unknown: No such file or directory"` reveals issues such as
https://github.com/termux/termux-packages/issues/2234

Closes GH-5615
2020-05-24 17:49:52 -04:00
George Peter Banyard cebe750f46 Refactor ZPP API to use uint32_t as everywhere else
Closes GH-5609
2020-05-22 17:13:42 +02:00
George Peter Banyard bc3ee2eeea [skip-ci] Update UPGRADING
Add upgrading note for mixed type and removal of curly braces offset syntax
2020-05-22 17:02:30 +02:00
Nikita Popov b9d0ff7634 Merge branch 'PHP-7.4'
* PHP-7.4:
  Revert "Fix #79595: zend_init_fpu() alters FPU precision"
2020-05-22 16:57:24 +02:00
Nikita Popov 10eb842a64 Revert "Fix #79595: zend_init_fpu() alters FPU precision"
This reverts commit 88dfc475c5.
2020-05-22 16:57:14 +02:00
George Peter Banyard c803499e23 Remove depreacted curly brace offset syntax
Closes GH-5221
2020-05-22 16:52:17 +02:00
Nikita Popov a307e48d67 Merge branch 'PHP-7.4'
* PHP-7.4:
  Show diffs for failed tests on Azure CI
2020-05-22 16:37:22 +02:00
Alex Dowad 6ad746488e Show diffs for failed tests on Azure CI
It's currently not possible to view the "Tests" tab on Azure if
you're not signed in, so also display diffs in the log.

Closes GH-5612.
2020-05-22 16:37:04 +02:00
Máté Kocsis aec4c0fd03 Add support for the mixed type
RFC: https://wiki.php.net/rfc/mixed_type_v2
Closes GH-5313

Co-authored-by: Dan Ackroyd <danack@basereality.com>
2020-05-22 16:08:12 +02:00
Christoph M. Becker 4bc1d8333a Raise ext/pgsql requirements to PostGreSQL 7.4
We can safely assume that users have at the very least libpq 7.4, for
which official support ended on 2010-10-01; even CentOS 6 has 8.4 now.
It is also noteworthy that PDO_PGSQL already requires libpq 7.4 or
later.
2020-05-22 15:56:24 +02:00
Christoph M. Becker c0920e674f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79595: zend_init_fpu() alters FPU precision
2020-05-22 15:47:33 +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
Dmitry Stogov f4b46314f6 Prevent CGG reordering if hanlers order is defined by zend_vm_order.txt 2020-05-22 12:37:35 +03:00
Dmitry Stogov 0085cbffd8 Fixed typecast 2020-05-22 12:36:52 +03:00
Gerard Roche cf3d3cd86f Fix PostgreSQL and MySQL setup on Travis CI
Note that the PostgreSQL tests still don't work on some architectures.

Closes GH-5607.
2020-05-22 10:02:57 +02:00
Gerard Roche d1dde094f2 run-tests: refactor 2020-05-22 09:58:04 +02:00
Gerard Roche 2ef88f517d run-tests: echo message and exit if no tests found
The test runner currently defaults to running the entire test suite if
no selected tests can be found. This can be unexpected.

For example the ext/mysqlnd/ directory has no tests, if you specify that
directory when testing the entire test suite will be run.

    run-tests.php [options] ext/mysqlnd/

Closes GH-5605.
2020-05-22 09:37:46 +02:00
Christoph M. Becker 7f51f43509 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79615: Wrong GIF header written in GD GIFEncode
2020-05-22 09:22:38 +02:00
Christoph M. Becker da801ba5e3 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79615: Wrong GIF header written in GD GIFEncode
2020-05-22 09:19:05 +02:00
Christoph M. Becker d4bd6fb491 Fix #79615: Wrong GIF header written in GD GIFEncode
The color resolution is expected in bits 4-6 of the packed fields byte
of the logical screen descriptor (byte 10 of the GIF data stream),
according to the specification[1], section 18.

[1] <https://www.w3.org/Graphics/GIF/spec-gif89a.txt>
2020-05-22 09:15:41 +02:00
Dmitry Stogov bb1a68b40c Use EX(run_time_cache) instead of RUN_TIME_CACHE(&EX(func)->op_array) 2020-05-21 18:35:32 +03:00
Dmitry Stogov a9b2ff3dda simplification 2020-05-21 18:01:44 +03:00
Dmitry Stogov 2dfd6cd373 Allow counter settings to be "zero" to disable corresponding counter 2020-05-21 01:06:50 +03:00
Dmitry Stogov d2446ca1d9 Missed label 2020-05-21 00:57:54 +03:00
Dmitry Stogov b65d366bf8 Better condition 2020-05-20 23:05:48 +03:00
Dmitry Stogov 95248491af Prefer already cached version of the script 2020-05-20 23:04:34 +03:00
George Peter Banyard 3b62e8b9ab Fix [-Wundef] warning in SQLite3 extension 2020-05-20 18:22:11 +02:00
George Peter Banyard 6a151225dc Fix [-Wundef] warning in SPL extension 2020-05-20 18:22:10 +02:00
George Peter Banyard e6930bcfba More [-Wundef] warnings fixed in POSIX extension
Forgot to squash this into the other commit
2020-05-20 18:22:10 +02:00
George Peter Banyard 3092a1ee12 Fix [-Wundef] warning in PHAR extension 2020-05-20 18:22:10 +02:00
George Peter Banyard 999f65c9cd Fix [-Wundef] warning in OpenSSL extension 2020-05-20 18:22:10 +02:00
George Peter Banyard ea8686540a Fix [-Wundef] warning in INTL extension 2020-05-20 18:22:10 +02:00
George Peter Banyard 9cc24baa1c Fix [-Wundef] warning in Iconv extension 2020-05-20 18:22:09 +02:00
George Peter Banyard 2f0dcf2ac2 Fix [-Wundef] warning in GD extension 2020-05-20 18:22:09 +02:00
Nikita Popov e852944f63 Add --enable-memory-sanitizer flag
This flag enabled msan late in the pipeline, so that it does
not affect configure checks.

Otherwise we get a false positive report for openpty availability
without -lutil, which will then result in infinite recursion if
actually called.

This also sets origin tracking to 2, so bump the timeout to 90
minutes.
2020-05-20 16:46:28 +02:00
George Peter Banyard c85ded7632 Fix [-Wundef] warning in PDO PostgreSQL extension 2020-05-20 16:29:53 +02:00
George Peter Banyard 50af36a8aa Fix [-Wundef] warning in PDO ODBC extension 2020-05-20 16:29:53 +02:00
George Peter Banyard a43f100fda Fix [-Wundef] warning in PDO OCI extension 2020-05-20 16:29:53 +02:00
George Peter Banyard c932cc841a Fix [-Wundef] warning in PDO MySQL extension 2020-05-20 16:29:52 +02:00
George Peter Banyard db7dc2fa2f Fix [-Wundef] warning in PDO Firebird extension 2020-05-20 16:29:52 +02:00
George Peter Banyard 1c598cf6a8 Fix [-Wundef] warning in PDO DBLib extension 2020-05-20 16:29:52 +02:00
George Peter Banyard f0794c7719 Fix [-Wundef] warning in SimpleXML extension 2020-05-20 16:29:52 +02:00
George Peter Banyard e5a7ab33f6 Fix [-Wundef] warning in SOAP extension 2020-05-20 16:29:51 +02:00