diff --git a/ext/opcache/jit/zend_jit_ir.c b/ext/opcache/jit/zend_jit_ir.c index 4767b55cb9547..5fe33cb07ef84 100644 --- a/ext/opcache/jit/zend_jit_ir.c +++ b/ext/opcache/jit/zend_jit_ir.c @@ -3237,6 +3237,20 @@ static void zend_jit_setup(void) /* Index is offset by 1 on FreeBSD (https://github.com/freebsd/freebsd-src/blob/22ca6db50f4e6bd75a141f57cf953d8de6531a06/lib/libc/gen/tls.c#L88) */ tsrm_tls_index = (tlsdesc->index + 1) * 8; } +# elif defined(__MUSL__) + if (tsrm_ls_cache_tcb_offset == 0) { + size_t **where; + + __asm__( + "adrp %0, :tlsdesc:_tsrm_ls_cache\n" + "add %0, %0, :tlsdesc_lo12:_tsrm_ls_cache\n" + : "=r" (where)); + /* See https://github.com/ARM-software/abi-aa/blob/2a70c42d62e9c3eb5887fa50b71257f20daca6f9/aaelf64/aaelf64.rst */ + size_t *tlsdesc = where[1]; + + tsrm_tls_offset = tlsdesc[1]; + tsrm_tls_index = tlsdesc[0] * 8; + } # else ZEND_ASSERT(tsrm_ls_cache_tcb_offset != 0); # endif diff --git a/ext/pdo_pgsql/pgsql_driver.c b/ext/pdo_pgsql/pgsql_driver.c index f29b4ca973cc6..c7944373fa7c7 100644 --- a/ext/pdo_pgsql/pgsql_driver.c +++ b/ext/pdo_pgsql/pgsql_driver.c @@ -295,7 +295,7 @@ static bool pgsql_handle_preparer(pdo_dbh_t *dbh, zend_string *sql, pdo_stmt_t * execute_only = 1; } } else { - emulate = H->disable_native_prepares || H->emulate_prepares; + emulate = H->emulate_prepares; execute_only = H->disable_prepares; } diff --git a/ext/pdo_pgsql/php_pdo_pgsql_int.h b/ext/pdo_pgsql/php_pdo_pgsql_int.h index da77d01c61ec7..7dee249cbb110 100644 --- a/ext/pdo_pgsql/php_pdo_pgsql_int.h +++ b/ext/pdo_pgsql/php_pdo_pgsql_int.h @@ -44,10 +44,7 @@ typedef struct { pdo_pgsql_error_info einfo; Oid pgoid; unsigned int stmt_counter; - /* The following two variables have the same purpose. Unfortunately we need - to keep track of two different attributes having the same effect. */ bool emulate_prepares; - bool disable_native_prepares; /* deprecated since 5.6 */ bool disable_prepares; HashTable *lob_streams; zend_fcall_info_cache *notice_callback; diff --git a/ext/standard/tests/streams/bug51056.phpt b/ext/standard/tests/streams/bug51056.phpt index abb87fcb037c8..e011405298c24 100644 --- a/ext/standard/tests/streams/bug51056.phpt +++ b/ext/standard/tests/streams/bug51056.phpt @@ -4,7 +4,7 @@ Bug #51056 (fread() on blocking stream will block even if data is available) foo()->x ??= 42; +?> +--EXPECTF-- +Notice: Only variable references should be returned by reference in %s on line %d + +Fatal error: Uncaught Error: Attempt to assign property "x" on null in %s:%d +Stack trace: +#0 {main} + thrown in %s on line %d diff --git a/main/main.c b/main/main.c index 0f422fd3978f1..eabd0e998736c 100644 --- a/main/main.c +++ b/main/main.c @@ -2120,8 +2120,9 @@ zend_result php_module_startup(sapi_module_struct *sf, zend_module_entry *additi _set_invalid_parameter_handler(old_invalid_parameter_handler); } - /* Disable the message box for assertions.*/ + /* Disable the message box for assertions and errors.*/ _CrtSetReportMode(_CRT_ASSERT, 0); + _CrtSetReportMode(_CRT_ERROR, 0); #endif #ifdef ZTS diff --git a/run-tests.php b/run-tests.php index 258eae1fb2da9..2c6db0d7e2df0 100755 --- a/run-tests.php +++ b/run-tests.php @@ -26,7 +26,7 @@ /* Let there be no top-level code beyond this point: * Only functions and classes, thanks! * - * Minimum required PHP version: 7.4.0 + * Minimum required PHP version: 8.0.0 */ function show_usage(): void