Commit 02a6fecb97d for php.net
commit 02a6fecb97de90c40c65417d613f29dd32d7209b
Author: henderkes <m@pyc.ac>
Date: Wed Dec 31 00:26:34 2025 +0100
Make preserve_none check lto compatible
Fixes GH-20806
Closes GH-20810
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4
index 33009e9909f..1e91450fcb9 100644
--- a/Zend/Zend.m4
+++ b/Zend/Zend.m4
@@ -487,7 +487,7 @@ uint64_t key = UINT64_C(0x9d7f71d2bd296364);
uintptr_t _a = 0;
uintptr_t _b = 0;
-uintptr_t __attribute__((preserve_none)) fun(uintptr_t a, uintptr_t b) {
+uintptr_t __attribute__((preserve_none,noinline,used)) fun(uintptr_t a, uintptr_t b) {
_a = a;
_b = b;
return (uintptr_t)const3;
@@ -568,6 +568,7 @@ int main(void) {
[php_cv_preserve_none=no],
[php_cv_preserve_none=no])
])
+ AC_MSG_RESULT([$php_cv_preserve_none])
AS_VAR_IF([php_cv_preserve_none], [yes], [
AC_DEFINE([HAVE_PRESERVE_NONE], [1],
[Define to 1 if you have preserve_none support.])