#
3164a9ef |
| 02-Jan-2024 |
Peter Kokot |
Remove unused in_addr_t type alias (#12994) The fastcgi code was refactored in 18cf4e0a8a574034f60f4d123407c173e57e54ec and in_addr_t is no longer used. The PHP_CHECK_IN_ADDR_T is al
Remove unused in_addr_t type alias (#12994) The fastcgi code was refactored in 18cf4e0a8a574034f60f4d123407c173e57e54ec and in_addr_t is no longer used. The PHP_CHECK_IN_ADDR_T is also obsolete and not recommended way to discover availability of the type. If needed in the future, the AC_CHECK_TYPES can be used instead.
show more ...
|
#
84022db8 |
| 29-Dec-2023 |
Peter Kokot |
Remove unused SIZEOF_SHORT (#13034)
|
#
d657d559 |
| 29-Dec-2023 |
Peter Kokot |
Check host_alias on one place (#13042)
|
#
66a33dbd |
| 22-Sep-2023 |
Thomas Hurst |
Fix GH-12273 - configure __builtin_cpu_init() check __builtin_cpu_init() is documented as having a void return type. It happens to return int on gcc, but is void on clang. Clos
Fix GH-12273 - configure __builtin_cpu_init() check __builtin_cpu_init() is documented as having a void return type. It happens to return int on gcc, but is void on clang. Close GH-122274
show more ...
|
#
d93800ec |
| 22-Sep-2023 |
Thomas Hurst |
Fix GH-12273 - configure __builtin_cpu_init() check __builtin_cpu_init() is documented as having a void return type. It happens to return int on gcc, but is void on clang. Clos
Fix GH-12273 - configure __builtin_cpu_init() check __builtin_cpu_init() is documented as having a void return type. It happens to return int on gcc, but is void on clang. Close GH-122274
show more ...
|
#
abed8b8e |
| 22-Sep-2023 |
Peter Kokot |
Remove _IO_cookie_io_functions_t in favor of cookie_io_functions_t As noted in glibc, the cookie_io_functions_t should be used instead of internal _IO_cookie_io_functions_t. The
Remove _IO_cookie_io_functions_t in favor of cookie_io_functions_t As noted in glibc, the cookie_io_functions_t should be used instead of internal _IO_cookie_io_functions_t. The _IO_cookie_io_functions_t was once used as a convenience for not having the cookie_io_functions_t available (glibc <=2.1.1) as noted in 67bb9d1ae23fe4c7e4160dabfb4f07b51dccabf1. Check in the build system was also always setting the COOKIE_IO_FUNCTIONS_T to cookie_io_functions_t due to a typo. There is unused variable have_IO_cookie_io_functions_t vs. have_cookie_io_functions_t. - COOKIE_IO_FUNCTIONS_T removed Closes GH-12236
show more ...
|
#
62e24025 |
| 22-Sep-2023 |
Ilija Tovilo |
Use autoconf for recognizing __builtin_unreachable() (#12266) Older versions of GCC don't support __has_builtin(), but do support __builtin_unreachable().
|
#
02b3fb1f |
| 30-Aug-2023 |
Filip Zrůst <128540+f4z4on@users.noreply.github.com> |
Remove CPP when invoking dtrace utility We are experiencing an issue when building PHP with DTrace enabled with SystemTap (see GH-11847).† The issue is caused by inappropriate use C
Remove CPP when invoking dtrace utility We are experiencing an issue when building PHP with DTrace enabled with SystemTap (see GH-11847).† The issue is caused by inappropriate use C preprocessor detected by GNU Autoconf in our “configure” script. C preprocessor configuration found by AC_PROG_CPP macro is portable only to run on files with “.c” extension.‡ However, statically-defined tracing is described by D programs with “.d” extension which causes the issue. We experience this even on typical Linux distribution with GNU Compiler Collection (GCC) unless we override the defaults detected by our “configure” script. Many major Linux distributions use SystemTap to provide “dtrace” utility. It relies on both external C preprocessor and external C compiler. C preprocessor can be customized via CPP environment variable. Similarly, C compiler can be customized via CC environment variable. It also allows customization of C compiler flags via CFLAGS environment variable. We have recently aligned both CPP and CC environment variable with C preprocessor and C compiler we use to build regular C source code as provided by our “configure” script (see GH-11643).* We wanted to allow cross-compilation on Linux for which this was the only blocker. C compiler flags from CFLAGS_CLEAN macro have already been in place since versions 5.4.20 and 5.5.4 from 2013-09-18. We had modified all “dtrace” invocations in the same way to make it look consistent. However, only the C compiler (CC environment variable) is necessary to for cross-compilation. There have never been any reported issue with the C preprocessor. We acknowledge it would be great to allow C preprocessor customization as well. However, the implementation would require a lot of effort to do correctly given the limitations of AC_PROG_CPP macro from GNU Autoconf. This would be further complicated by the fact that all DTrace implementations, not just SystemTap, allow C preprocessor customization but Oracle DTrace, Open DTrace, and their forks do it differently. Nevertheless, they all default to “cpp” utility and they all have or had been working fine. Therefore, we believe simply removing CPP stabilizes “dtrace” invocation on Linux systems with SystemTap and aligns it with other system configurations on other platforms, until someone comes with complete solution with custom “m4” and “make” macros, while our build system on Linux with SystemTap supports cross-compilation. Fixes GH-11847 Closes GH-12083 † https://github.com/php/php-src/issues/11847 ‡ https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/autoconf.html#index-AC_005fPROG_005fCPP-1 * https://github.com/php/php-src/issues/11643
show more ...
|
#
475fd295 |
| 19-Jul-2023 |
Filip Zrůst <128540+f4z4on@users.noreply.github.com> |
Improve DTrace probe generation /w non-default compiler With DTrace support enabled during ./configure, our custom Autoconf macro PHP_INIT_DTRACE creates make rules to generate header an
Improve DTrace probe generation /w non-default compiler With DTrace support enabled during ./configure, our custom Autoconf macro PHP_INIT_DTRACE creates make rules to generate header and object files using dtrace utility. SystemTap† implementation of dtrace relies on other utilities to provide header preprocessing and final object file compilation. These utilities are configured by common environment variables with common defaults:‡ * preprocessor from CPP defaults to “cpp” * compiler from CC defaults to “gcc” * compiler arguments can be expanded with CFLAGS This has been in SystemTap since version 1.5 released on 2011-05-23. We have been setting CFLAGS for dtrace since 717b367 released in versions 5.4.20 and 5.5.4 on 2013-09-18. This change fixed build against SystemTap. It fixes majority of cases since practically all free Linux distributions use SystemTap for DTrace-like dynamic tracing and practically all of them use GCC or compatible compiler suite. However, this becomes an issue when cross-compiling using GCC because utility names contain target triplets. Autoconf already handles cross-compilation well —setting correct CC and CPP make macros (variables). Therefore, we simply set CC and CPP environment variables using respective macros when executing dtrace. Although SystemTap dtrace does not always use CC nor CPP, we set it every time. SystemTap documentation does not talk about this at all¶, so it is safer to always set it. We also follow how we set CFLAGS every time in the past. Original (or ported) DTrace mainly used on Oracle Linux, Solaris and macOS ignores these and does not support cross compilation.§ † Well-known dynamic tracing infrastructure for Linux compatible with statically-defined tracing from DTrace. ‡ https://sourceware.org/git/?p=systemtap.git;a=blob;f=dtrace.in;h=73a6f22e2de072773c692e3fea05c4b8cf814e43;hb=ebb424eee5599fcc131901c0d82d0bfc0d2f57ab ¶ https://sourceware.org/systemtap/man/dtrace.1.html § https://docs.oracle.com/cd/E88353_01/html/E72487/dtrace-8.html Closes GH-11643
show more ...
|
#
41a3573f |
| 05-Jul-2023 |
Peter Kokot |
Fix GH-9483: Autoconf warnings for newer Autoconf versions Co-authored-by: Levi Morrison <morrison.levi@gmail.com>
|
#
34832291 |
| 24-Jun-2023 |
SVGAnimate |
Fix GH-11522: PHP version check fails with '-' separator Remove php version suffix from '-' separator. Closes GH-11524.
|
#
fa658735 |
| 03-Mar-2023 |
Michael Orlitzky |
*/*.m4: update main() signatures. The next generation of C compilers is going to enforce the C standard more strictly: https://wiki.gentoo.org/wiki/Modern_C_porting O
*/*.m4: update main() signatures. The next generation of C compilers is going to enforce the C standard more strictly: https://wiki.gentoo.org/wiki/Modern_C_porting One warning that will soon become an error is -Wstrict-prototypes. This is relatively easy to catch in most code (it will fail to compile), but inside of autoconf tests it can go unnoticed because many feature-test compilations fail by design. For example, $ export CFLAGS="$CFLAGS -Werror=strict-prototypes" $ ./configure ... checking if iconv supports errno... no configure: error: iconv does not support errno (this is on a system where iconv *does* support errno). If errno support were optional, that test would have "silently" disabled it. The underlying issue here, from config.log, is conftest.c:211:5: error: function declaration isn't a prototype [-Werror=strict-prototypes] 211 | int main() { This commit goes through all of our autoconf tests, replacing main() with main(void). Up to equivalent types and variable renamings, that's one of the two valid signatures, and satisfies the compiler (gcc-12 in this case). Fixes GH-10751
show more ...
|
#
a9437ceb |
| 13-Feb-2023 |
Frank Du |
base64: add avx512 and vbmi version. (#6361) 1. Implementation based on https://github.com/WojciechMula/base64simd 2. Only runtime path is added to reduce the complexity of SIMD variants
base64: add avx512 and vbmi version. (#6361) 1. Implementation based on https://github.com/WojciechMula/base64simd 2. Only runtime path is added to reduce the complexity of SIMD variants. 3. Expand test case to cover SIMD implementation. Signed-off-by: Frank Du <frank.du@intel.com>
show more ...
|
#
df853cb3 |
| 08-Feb-2023 |
Derick Rethans |
Bump minimum re2c version requirement to 1.0.3 The release VMs already enforced this, but PHP's configure script did not. re2c 0.13.5, which timelib's date/time parser requires
Bump minimum re2c version requirement to 1.0.3 The release VMs already enforced this, but PHP's configure script did not. re2c 0.13.5, which timelib's date/time parser requires is no longer compatible with the current version of Zend/zend_language_scanner.l, as it starts spinning in a loop.
show more ...
|
#
c8ec2ed7 |
| 25-Jan-2023 |
Alex Dowad |
Add AVX2-accelerated UTF-16 decoding/encoding routines As with other SIMD-accelerated functions in php-src, the new UTF-16 encoding and decoding routines can be compiled either with AVX2
Add AVX2-accelerated UTF-16 decoding/encoding routines As with other SIMD-accelerated functions in php-src, the new UTF-16 encoding and decoding routines can be compiled either with AVX2 acceleration "always on", "always off", or else with runtime detection of AVX2 support. With the new UTF-16 decoder/encoder, conversion of extremely short strings (as in several bytes) has the same performance as before, and conversion of medium-length (~100 character) strings is about 65% faster, but conversion of long (~10,000 character) strings is around 6 times faster. Many other mbstring functions will also be faster now when handling UTF-16; for example, mb_strlen is almost 3 times faster on medium strings, and almost 9 times faster on long strings. (Why does mb_strlen benefit more from AVX2 acceleration than mb_convert_encoding? It's because mb_strlen only needs to decode, but not re-encode, the input string, and the UTF-16 decoder benefits much more from SIMD acceleration than the UTF-16 encoder.)
show more ...
|
#
7473b86f |
| 13-Jan-2023 |
Max Kellermann |
build/php.m4: remove test for integer types (#10304) These are mandatory in C99, so it's a pointless waste of time to check for them. (Actually, the fixed-size integer types are
build/php.m4: remove test for integer types (#10304) These are mandatory in C99, so it's a pointless waste of time to check for them. (Actually, the fixed-size integer types are not mandatory, but if they are really not available on some theoretical system, PHP's fallbacks won't work either, so nothing is gained from this check.)
show more ...
|
#
a11c8a30 |
| 16-Dec-2022 |
Arnaud Le Blanc |
Limit stack size (#9104)
|
#
4af695e9 |
| 10-Sep-2022 |
Máté Kocsis |
Require PHP 7.4 at least for running the build system (#9519)
|
#
ecc3fc18 |
| 02-Sep-2022 |
Ilija Tovilo |
Use PDEATHSIG to kill cli-server workers if parent exists Closes GH-9476
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29 |
|
#
c68591fa |
| 07-Apr-2022 |
Levi Morrison |
Use AS_ECHO([]) instead of obsolete $as_echo (#8321)
|
Revision tags: php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17 |
|
#
6a2c5016 |
| 08-Mar-2022 |
Victor Kislov |
Adjust PHP_SETUP_LIBXML description to mention what it doesnt use action-not-found Closes GH-8088.
|
Revision tags: php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1 |
|
#
1f38c003 |
| 25-Nov-2021 |
Michael Wallner |
fix #81656: GCC-11 silently ignores -R Closes GH-7688.
|
#
72f8dbb3 |
| 24-Nov-2021 |
Dmitry Stogov |
Fixed bug #81634 (ZEND_ENABLE_STATIC_TSRMLS_CACHE produces extensionswith the STATIC_TLS flag)
|
Revision tags: php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12 |
|
#
9f98bc58 |
| 15-Oct-2021 |
Remi Collet |
remove closing bracket in bad place
|
Revision tags: php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1, php-7.4.20RC1, php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5 |
|
#
f1ad9199 |
| 16-Apr-2021 |
Dmitry Stogov |
Better support for cross-compilation
|