Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
25d7616
Make internal run_time_cache a persistent allocation (#15040)
bwoebi Sep 6, 2024
56400f7
Autotools: s/M4 macros/Autoconf macros (#15778)
petk Sep 7, 2024
047f0c9
userland_declaration_error_class_const.phpt: fix test name (#15784)
DanielEScherzer Sep 7, 2024
4a45742
[skip ci] docs: fix constant syntax in stubs.rst (#15785)
DanielEScherzer Sep 7, 2024
5ea6b04
Autotools: Fix gd extension -I flag for bundled libgd (#15786)
petk Sep 7, 2024
de48b90
Convert CRLF line endings to LF (#15767)
petk Sep 7, 2024
94ecc1f
Autotools: Sync CS for PHP_PWRITE_TEST and PHP_PREAD_TEST (#15774)
petk Sep 7, 2024
f1b4e12
Simplify bcmath_check_scale()
nielsdos Sep 6, 2024
2e88916
Move bcmath_check_scale()
nielsdos Sep 6, 2024
ac0931d
Reuse bcmath_check_scale()
nielsdos Sep 6, 2024
dfe6c13
Fix typo (#15780)
DanielRuf Sep 7, 2024
e358634
Sync Zend/*_i386_sysv_elf_gas.S with upstream (#15788)
petk Sep 7, 2024
6d6bf05
Autotools: Enable adding a list of paths in PHP_ADD_INCLUDE (#15777)
petk Sep 8, 2024
0f3b2e5
Autotools: Move extension setup to main check (#15797)
petk Sep 8, 2024
7771ec0
Fix bug #61525: SOAP functions require at least one space after HTTP …
nielsdos Sep 7, 2024
50b3a0d
Add comments about internal headers (GH-15689)
cmb69 Sep 8, 2024
edcd6cc
gai_strerror() is not thread-safe on Windows (GH-15568)
cmb69 Sep 8, 2024
b97a60c
Autotools: Check Apache version with apxs and HTTPD_VERSION variable …
petk Sep 8, 2024
dfdec2d
Autotools: Refactor PHP_TEST_BUILD checks (#15798)
petk Sep 8, 2024
16e218a
Autotools: Obsolete PHP_TEST_BUILD, PHP_BUILD_THREAD_SAFE, and PHP_DE…
petk Sep 8, 2024
08e0729
Fix uninitialized lineno in constant AST of internal enums
iluuu1994 Sep 8, 2024
e207071
Merge branch 'PHP-8.2' into PHP-8.3
iluuu1994 Sep 8, 2024
837a8b6
Merge branch 'PHP-8.3'
iluuu1994 Sep 8, 2024
4c11168
Fix GH-15656: php8.4beta4 JIT erronous results (#15732)
dstogov Sep 9, 2024
bca5f6e
Fix OPcache tests under specific conditions
zeriyoshi Sep 9, 2024
fb2266b
Merge branch 'PHP-8.2' into PHP-8.3
dstogov Sep 9, 2024
d0acf30
Merge branch 'PHP-8.3'
dstogov Sep 9, 2024
d966c29
Fix OPcache tests under specific conditions
zeriyoshi Sep 9, 2024
94f5ef0
Merge branch 'PHP-8.2' into PHP-8.3
dstogov Sep 9, 2024
d670ee7
Merge branch 'PHP-8.3'
dstogov Sep 9, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@ PHP NEWS
. Fixed bug GH-15718 (Segfault on ReflectionProperty::get{Hook,Hooks}() on
dynamic properties). (DanielEScherzer)

- SOAP:
. Fixed bug #61525 (SOAP functions require at least one space after HTTP
header colon). (nielsdos)

- Standard:
. Fixed bug GH-15552 (Signed integer overflow in ext/standard/scanf.c). (cmb)
. Implemented GH-15685 (improve proc_open error reporting on Windows). (cmb)
Expand Down
62 changes: 38 additions & 24 deletions UPGRADING.INTERNALS
Original file line number Diff line number Diff line change
Expand Up @@ -140,15 +140,16 @@ PHP 8.4 INTERNALS UPGRADE NOTES
- COOKIE_IO_FUNCTIONS_T symbol has been removed (use cookie_io_functions_t).
- HAVE_SOCKADDR_UN_SUN_LEN symbol renamed to HAVE_STRUCT_SOCKADDR_UN_SUN_LEN.
- HAVE_UTSNAME_DOMAINNAME symbol renamed to HAVE_STRUCT_UTSNAME_DOMAINNAME.
- PHP_CHECK_IN_ADDR_T M4 macro and 'in_addr_t' fallback definition to 'u_int'
removed (use AC_CHECK_TYPES Autoconf macro instead).
- PHP_CHECK_IN_ADDR_T Autoconf macro and 'in_addr_t' fallback definition to
'u_int' removed (use AC_CHECK_TYPES Autoconf macro instead).
- HAVE_ODBC2 symbol has been removed in ext/odbc.
- Removed linking with obsolete dnet_stub library in ext/pdo_dblib.
- Removed checking and linking with obsolete libbind for some functions.
- Symbol HAVE_JSON has been removed (ext/json is always available since PHP
8.0).
- Symbol DARWIN has been removed (use __APPLE__ to target Darwin systems).
- Symbol MISSING_FCLOSE_DECL and M4 macro PHP_MISSING_FCLOSE_DECL removed.
- Symbol MISSING_FCLOSE_DECL and Autoconf macro PHP_MISSING_FCLOSE_DECL were
removed.
- Symbol HAVE_BSD_ICONV has been removed.
- Symbol ZEND_FIBER_ASM has been removed.
- Symbols HAVE_DLOPEN and HAVE_DLSYM have been removed.
Expand All @@ -164,39 +165,50 @@ PHP 8.4 INTERNALS UPGRADE NOTES
- Symbols PHP_HAVE_AVX512_SUPPORTS and PHP_HAVE_AVX512_VBMI_SUPPORTS are now
either defined to 1 or undefined.
- Symbol HAVE_LIBCRYPT has been removed.
- M4 macro PHP_DEFINE (atomic includes) removed (use AC_DEFINE and config.h).
- M4 macro PHP_WITH_SHARED has been removed (use PHP_ARG_WITH).
- M4 macro PHP_STRUCT_FLOCK has been removed (use AC_CHECK_TYPES).
- M4 macro PHP_SOCKADDR_CHECKS has been removed (use AC_CHECK_TYPES and
- Autoconf macro PHP_DEFINE (atomic includes) removed (use AC_DEFINE and
config.h).
- Autoconf macro PHP_WITH_SHARED has been removed (use PHP_ARG_WITH).
- Autoconf macro PHP_STRUCT_FLOCK has been removed (use AC_CHECK_TYPES).
- Autoconf macro PHP_SOCKADDR_CHECKS has been removed (use AC_CHECK_TYPES and
AC_CHECK_MEMBERS).
- M4 macro PHP_CHECK_GCC_ARG has been removed since PHP 8.0 (use
- Autoconf macro PHP_CHECK_GCC_ARG has been removed since PHP 8.0 (use
AX_CHECK_COMPILE_FLAG).
- M4 macro PHP_PROG_RE2C got a new 2nd argument to define common default re2c
command-line options substituted to the Makefile RE2C_FLAGS variable.
- M4 macros PHP_CHECK_BUILTIN_* have been removed in favor of
- Autoconf macro PHP_PROG_RE2C got a new 2nd argument to define common
default re2c command-line options substituted to the Makefile RE2C_FLAGS
variable.
- Autoconf macros PHP_CHECK_BUILTIN_* have been removed in favor of
PHP_CHECK_BUILTIN and all PHP_HAVE_BUILTIN_* symbols changed to be either
undefined or defined to 1 whether compiler supports the builtin.
- Added php-config --lib-dir and --lib-embed options for PHP embed SAPI.
- PDO extensions in php-src don't have the include flag -I$pdo_cv_inc_path
directory anymore.
- M4 macro PHP_SETUP_OPENSSL doesn't accept the 3rd argument anymore.
- M4 macro PHP_EVAL_LIBLINE got a new 3rd argument to override the ext_shared
checks.
- M4 macro PHP_SETUP_LIBXML doesn't define the redundant HAVE_LIBXML symbol
anymore and requires at least libxml2 2.9.4.
- M4 macro PHP_SETUP_ICONV doesn't define the HAVE_ICONV symbol anymore.
- M4 macro PHP_OUTPUT is obsolete (use AC_CONFIG_FILES).
- M4 macro PHP_PROG_SETUP now accepts an argument to set the minimum required
PHP version during the build.
- M4 macro PHP_INSTALL_HEADERS arguments can now be also
- Autoconf macro PHP_SETUP_OPENSSL doesn't accept the 3rd argument anymore.
- Autoconf macro PHP_EVAL_LIBLINE got a new 3rd argument to override the
ext_shared checks.
- Autoconf macro PHP_SETUP_LIBXML doesn't define the redundant HAVE_LIBXML
symbol anymore and requires at least libxml2 2.9.4.
- Autoconf macro PHP_SETUP_ICONV doesn't define the HAVE_ICONV symbol
anymore.
- Autoconf macro PHP_AP_EXTRACT_VERSION is obsolete (use the
'apxs -q HTTPD_VERSION').
- Autoconf macro PHP_OUTPUT is obsolete (use AC_CONFIG_FILES).
- Autoconf macro PHP_TEST_BUILD is obsolete (use AC_* macros).
- Autoconf macro PHP_BUILD_THREAD_SAFE is obsolete (set enable_zts manually).
- Autoconf macro PHP_DEF_HAVE is obsolete (use AC_DEFINE).
- Autoconf macro PHP_PROG_SETUP now accepts an argument to set the minimum
required PHP version during the build.
- Autoconf macro PHP_INSTALL_HEADERS arguments can now be also
blank-or-newline-separated lists instead of only separated with whitespace
or backslash-then-newline.
- M4 macro PHP_ADD_BUILD_DIR now also accepts 1st argument as a
- Autoconf macro PHP_ADD_BUILD_DIR now also accepts 1st argument as a
blank-or-newline-separated separated list.
- M4 macros PHP_NEW_EXTENSION, PHP_ADD_SOURCES, PHP_ADD_SOURCES_X,
- Autoconf macros PHP_NEW_EXTENSION, PHP_ADD_SOURCES, PHP_ADD_SOURCES_X,
PHP_SELECT_SAPI now have the source files and flags arguments normalized so
the list of items can be passed as a blank-or-newline-separated list.
- TSRM/tsrm.m4 file and its TSRM_CHECK_PTHREADS M4 macro have been removed.
- Autoconf macro PHP_ADD_INCLUDE now takes also a blank-or-newline-separated
list of include directories instead of a single directory. The "prepend"
argument is validated at Autoconf compile time.
- TSRM/tsrm.m4 file and its TSRM_CHECK_PTHREADS macro have been removed.
- Added pkg-config support to find libpq for the pdo_pgsql and pgsql
extensions. The libpq paths can be customized with the PGSQL_CFLAGS and
PGSQL_LIBS environment variables. When a directory argument is provided to
Expand All @@ -218,6 +230,8 @@ PHP 8.4 INTERNALS UPGRADE NOTES
- ac_cv_func_getaddrinfo -> php_cv_func_getaddrinfo
- ac_cv_have_broken_gcc_strlen_opt -> php_cv_have_broken_gcc_strlen_opt
- ac_cv_have_pcre2_jit -> php_cv_have_pcre2_jit
- ac_cv_pread -> php_cv_func_pread
- ac_cv_pwrite -> php_cv_func_pwrite
- ac_cv_syscall_shadow_stack_exists -> php_cv_have_shadow_stack_syscall
- ac_cv_time_r_type -> php_cv_time_r_type
- ac_cv_write_stdout -> php_cv_have_write_stdout
Expand Down
264 changes: 132 additions & 132 deletions Zend/asm/jump_arm64_aapcs_pe_armasm.asm
Original file line number Diff line number Diff line change
@@ -1,133 +1,133 @@
; Copyright Edward Nevill + Oliver Kowalke 2015
; Distributed under the Boost Software License, Version 1.0.
; (See accompanying file LICENSE_1_0.txt or copy at
; http://www.boost.org/LICENSE_1_0.txt)
;*******************************************************
;* *
;* ------------------------------------------------- *
;* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
;* ------------------------------------------------- *
;* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| *
;* ------------------------------------------------- *
;* | d8 | d9 | d10 | d11 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
;* ------------------------------------------------- *
;* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| *
;* ------------------------------------------------- *
;* | d12 | d13 | d14 | d15 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
;* ------------------------------------------------- *
;* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| *
;* ------------------------------------------------- *
;* | x19 | x20 | x21 | x22 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
;* ------------------------------------------------- *
;* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| *
;* ------------------------------------------------- *
;* | x23 | x24 | x25 | x26 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
;* ------------------------------------------------- *
;* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| *
;* ------------------------------------------------- *
;* | x27 | x28 | FP | LR | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | *
;* ------------------------------------------------- *
;* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| *
;* ------------------------------------------------- *
;* | fiber data| base | limit | dealloc | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 48 | 49 | 50 | 51 | | | *
;* ------------------------------------------------- *
;* | 0xc0| 0xc4| 0xc8| 0xcc| | | *
;* ------------------------------------------------- *
;* | PC | align | | | *
;* ------------------------------------------------- *
;* *
;*******************************************************
AREA |.text|, CODE, READONLY, ALIGN=4, CODEALIGN
EXPORT jump_fcontext
jump_fcontext proc
; prepare stack for GP + FPU
sub sp, sp, #0xd0
; save d8 - d15
stp d8, d9, [sp, #0x00]
stp d10, d11, [sp, #0x10]
stp d12, d13, [sp, #0x20]
stp d14, d15, [sp, #0x30]
; save x19-x30
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
stp x23, x24, [sp, #0x60]
stp x25, x26, [sp, #0x70]
stp x27, x28, [sp, #0x80]
stp x29, x30, [sp, #0x90]
; save LR as PC
str x30, [sp, #0xc0]
; save current stack base and limit
ldp x5, x6, [x18, #0x08] ; TeStackBase and TeStackLimit at ksarm64.h
stp x5, x6, [sp, #0xa0]
; save current fiber data and deallocation stack
ldr x5, [x18, #0x1478] ; TeDeallocationStack at ksarm64.h
ldr x6, [x18, #0x20] ; TeFiberData at ksarm64.h
stp x5, x6, [sp, #0xb0]
; store RSP (pointing to context-data) in X0
mov x4, sp
; restore RSP (pointing to context-data) from X1
mov sp, x0
; restore stack base and limit
ldp x5, x6, [sp, #0xa0]
stp x5, x6, [x18, #0x08] ; TeStackBase and TeStackLimit at ksarm64.h
; restore fiber data and deallocation stack
ldp x5, x6, [sp, #0xb0]
str x5, [x18, #0x1478] ; TeDeallocationStack at ksarm64.h
str x6, [x18, #0x20] ; TeFiberData at ksarm64.h
; load d8 - d15
ldp d8, d9, [sp, #0x00]
ldp d10, d11, [sp, #0x10]
ldp d12, d13, [sp, #0x20]
ldp d14, d15, [sp, #0x30]
; load x19-x30
ldp x19, x20, [sp, #0x40]
ldp x21, x22, [sp, #0x50]
ldp x23, x24, [sp, #0x60]
ldp x25, x26, [sp, #0x70]
ldp x27, x28, [sp, #0x80]
ldp x29, x30, [sp, #0x90]
; return transfer_t from jump
; pass transfer_t as first arg in context function
; X0 == FCTX, X1 == DATA
mov x0, x4
; load pc
ldr x4, [sp, #0xc0]
; restore stack from GP + FPU
add sp, sp, #0xd0
ret x4
ENDP
; Copyright Edward Nevill + Oliver Kowalke 2015
; Distributed under the Boost Software License, Version 1.0.
; (See accompanying file LICENSE_1_0.txt or copy at
; http://www.boost.org/LICENSE_1_0.txt)

;*******************************************************
;* *
;* ------------------------------------------------- *
;* | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
;* ------------------------------------------------- *
;* | 0x0 | 0x4 | 0x8 | 0xc | 0x10| 0x14| 0x18| 0x1c| *
;* ------------------------------------------------- *
;* | d8 | d9 | d10 | d11 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
;* ------------------------------------------------- *
;* | 0x20| 0x24| 0x28| 0x2c| 0x30| 0x34| 0x38| 0x3c| *
;* ------------------------------------------------- *
;* | d12 | d13 | d14 | d15 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
;* ------------------------------------------------- *
;* | 0x40| 0x44| 0x48| 0x4c| 0x50| 0x54| 0x58| 0x5c| *
;* ------------------------------------------------- *
;* | x19 | x20 | x21 | x22 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
;* ------------------------------------------------- *
;* | 0x60| 0x64| 0x68| 0x6c| 0x70| 0x74| 0x78| 0x7c| *
;* ------------------------------------------------- *
;* | x23 | x24 | x25 | x26 | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
;* ------------------------------------------------- *
;* | 0x80| 0x84| 0x88| 0x8c| 0x90| 0x94| 0x98| 0x9c| *
;* ------------------------------------------------- *
;* | x27 | x28 | FP | LR | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | *
;* ------------------------------------------------- *
;* | 0xa0| 0xa4| 0xa8| 0xac| 0xb0| 0xb4| 0xb8| 0xbc| *
;* ------------------------------------------------- *
;* | fiber data| base | limit | dealloc | *
;* ------------------------------------------------- *
;* ------------------------------------------------- *
;* | 48 | 49 | 50 | 51 | | | *
;* ------------------------------------------------- *
;* | 0xc0| 0xc4| 0xc8| 0xcc| | | *
;* ------------------------------------------------- *
;* | PC | align | | | *
;* ------------------------------------------------- *
;* *
;*******************************************************

AREA |.text|, CODE, READONLY, ALIGN=4, CODEALIGN
EXPORT jump_fcontext

jump_fcontext proc
; prepare stack for GP + FPU
sub sp, sp, #0xd0

; save d8 - d15
stp d8, d9, [sp, #0x00]
stp d10, d11, [sp, #0x10]
stp d12, d13, [sp, #0x20]
stp d14, d15, [sp, #0x30]

; save x19-x30
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
stp x23, x24, [sp, #0x60]
stp x25, x26, [sp, #0x70]
stp x27, x28, [sp, #0x80]
stp x29, x30, [sp, #0x90]

; save LR as PC
str x30, [sp, #0xc0]

; save current stack base and limit
ldp x5, x6, [x18, #0x08] ; TeStackBase and TeStackLimit at ksarm64.h
stp x5, x6, [sp, #0xa0]
; save current fiber data and deallocation stack
ldr x5, [x18, #0x1478] ; TeDeallocationStack at ksarm64.h
ldr x6, [x18, #0x20] ; TeFiberData at ksarm64.h
stp x5, x6, [sp, #0xb0]

; store RSP (pointing to context-data) in X0
mov x4, sp

; restore RSP (pointing to context-data) from X1
mov sp, x0

; restore stack base and limit
ldp x5, x6, [sp, #0xa0]
stp x5, x6, [x18, #0x08] ; TeStackBase and TeStackLimit at ksarm64.h
; restore fiber data and deallocation stack
ldp x5, x6, [sp, #0xb0]
str x5, [x18, #0x1478] ; TeDeallocationStack at ksarm64.h
str x6, [x18, #0x20] ; TeFiberData at ksarm64.h

; load d8 - d15
ldp d8, d9, [sp, #0x00]
ldp d10, d11, [sp, #0x10]
ldp d12, d13, [sp, #0x20]
ldp d14, d15, [sp, #0x30]

; load x19-x30
ldp x19, x20, [sp, #0x40]
ldp x21, x22, [sp, #0x50]
ldp x23, x24, [sp, #0x60]
ldp x25, x26, [sp, #0x70]
ldp x27, x28, [sp, #0x80]
ldp x29, x30, [sp, #0x90]

; return transfer_t from jump
; pass transfer_t as first arg in context function
; X0 == FCTX, X1 == DATA
mov x0, x4

; load pc
ldr x4, [sp, #0xc0]

; restore stack from GP + FPU
add sp, sp, #0xd0

ret x4
ENDP
END
6 changes: 6 additions & 0 deletions Zend/asm/jump_i386_sysv_elf_gas.S
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
* *
****************************************************************************************/

#ifdef __x86_64__
#include "jump_x86_64_sysv_elf_gas.S"
#else

.file "jump_i386_sysv_elf_gas.S"
.text
.globl jump_fcontext
Expand Down Expand Up @@ -91,3 +95,5 @@ jump_fcontext:

/* Mark that we don't need executable stack. */
.section .note.GNU-stack,"",%progbits

#endif
Loading
Loading