Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 0 additions & 2 deletions .github/actions/apt-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,11 @@ runs:
libsodium-dev:i386 \
libsqlite3-dev:i386 \
libssl-dev:i386 \
libtidy-dev:i386 \
libwebp-dev:i386 \
libxml2-dev:i386 \
libxml2-dev:i386 \
libxpm-dev:i386 \
libxslt1-dev:i386 \
libzip-dev:i386 \
locales \
make \
pkg-config:i386 \
Expand Down
3 changes: 1 addition & 2 deletions .github/actions/configure-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ runs:
run: |
set -x

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/i386-linux-gnu/pkgconfig"
./buildconf --force
export CFLAGS="-m32 -msse2"
export CXXFLAGS="-m32 -msse2"
Expand All @@ -33,12 +34,10 @@ runs:
--with-freetype \
--with-xpm \
--enable-exif \
--with-zip \
--with-zlib \
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-tidy \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ jobs:
zts: true
asan: true
name: "LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}${{ matrix.asan && '_ASAN' || '' }}"
runs-on: ubuntu-${{ !matrix.asan && '22' || '24' }}.04
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- name: git checkout
Expand Down Expand Up @@ -142,7 +142,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 50
container:
image: ubuntu:20.04
image: ubuntu:24.04
env:
MYSQL_TEST_HOST: mysql
PDO_MYSQL_TEST_DSN: mysql:host=mysql;dbname=test
Expand Down Expand Up @@ -255,7 +255,7 @@ jobs:
BENCHMARKING:
name: BENCHMARKING
if: github.repository == 'php/php-src' || github.event_name == 'pull_request'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- name: git checkout
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/root.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
libmysqlclient_with_mysqli: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1) }}
run_alpine: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
run_macos_arm64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
ubuntu_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) || matrix.branch.version[0] >= 9) && '22.04' || '20.04' }}
ubuntu_version: ${{
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '24.04')
|| ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) && '22.04')
|| '20.04' }}
windows_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '2022' || '2019' }}
secrets: inherit
7 changes: 7 additions & 0 deletions Zend/zend_portability.h
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,13 @@ extern "C++" {
# undef HAVE_FUNC_ATTRIBUTE_IFUNC
#endif

#if __has_feature(memory_sanitizer)
# include <sanitizer/msan_interface.h>
# define MSAN_UNPOISON(value) __msan_unpoison(&(value), sizeof(value))
#else
# define MSAN_UNPOISON(value)
#endif

/* Only use ifunc resolvers if we have __builtin_cpu_supports() and __builtin_cpu_init(),
* otherwise the use of zend_cpu_supports() may not be safe inside ifunc resolvers. */
#if defined(HAVE_FUNC_ATTRIBUTE_IFUNC) && defined(HAVE_FUNC_ATTRIBUTE_TARGET) && \
Expand Down
2 changes: 1 addition & 1 deletion ext/curl/tests/bug77535.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Bug #77535 (Invalid callback, h2 server push)
--EXTENSIONS--
curl
--XLEAK--
--XFAIL--
--SKIPIF--
<?php
include 'skipif-nocaddy.inc';
Expand Down
2 changes: 1 addition & 1 deletion ext/curl/tests/curl_pushfunction_trampoline.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Test trampoline for curl option CURLMOPT_PUSHFUNCTION
--EXTENSIONS--
curl
--XLEAK--
--XFAIL--
--SKIPIF--
<?php
include 'skipif-nocaddy.inc';
Expand Down
8 changes: 8 additions & 0 deletions ext/pcntl/tests/pcntl_setns_basic.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ posix
<?php
if (!function_exists("pcntl_setns")) die("skip pcntl_setns is not available");
if (getenv('SKIP_ASAN')) die('skip Timeouts under ASAN');

$pid = pcntl_fork();
if ($pid == -1) die("skip pcntl_fork failed");
if ($pid != 0) {
if (@pcntl_setns($pid, CLONE_NEWPID) === false && pcntl_get_last_error() == PCNTL_EPERM) {
die("skip Insufficient privileges to use pcntl_setns()");
}
}
?>
--FILE--
<?php
Expand Down
9 changes: 8 additions & 1 deletion ext/pcntl/tests/pcntl_setns_newpid.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,15 @@ posix
--SKIPIF--
<?php
if (!function_exists("pcntl_setns")) die("skip pcntl_setns is not available");
if (posix_getuid() !== 0) die('skip Test needs root user');
if (getenv('SKIP_ASAN')) die('skip Timeouts under ASAN');

$pid = pcntl_fork();
if ($pid == -1) die("skip pcntl_fork failed");
if ($pid != 0) {
if (@pcntl_setns($pid, CLONE_NEWPID) === false && pcntl_get_last_error() == PCNTL_EPERM) {
die("skip Insufficient privileges to use pcntl_setns()");
}
}
?>
--FILE--
<?php
Expand Down
6 changes: 2 additions & 4 deletions ext/pdo_odbc/tests/long_columns.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@ PDO ODBC "long" columns
pdo_odbc
--SKIPIF--
<?php
// make sure there is an ODBC driver and a DSN, or the test will fail
include 'ext/pdo/tests/pdo_test.inc';
$config = PDOTest::get_config('ext/pdo_odbc/tests/common.phpt');
if (!isset($config['ENV']['PDOTEST_DSN']) || $config['ENV']['PDOTEST_DSN']===false) print 'skip';
require 'ext/pdo/tests/pdo_test.inc';
PDOTest::skip();
?>
--FILE--
<?php
Expand Down
1 change: 1 addition & 0 deletions ext/standard/basic_functions.c
Original file line number Diff line number Diff line change
Expand Up @@ -1182,6 +1182,7 @@ PHP_FUNCTION(time_nanosleep)
RETURN_TRUE;
} else if (errno == EINTR) {
array_init(return_value);
MSAN_UNPOISON(php_rem);
add_assoc_long_ex(return_value, "seconds", sizeof("seconds")-1, php_rem.tv_sec);
add_assoc_long_ex(return_value, "nanoseconds", sizeof("nanoseconds")-1, php_rem.tv_nsec);
return;
Expand Down
Loading