From eff0d3b17ffb7646cbaf8bbf7078d96816a51894 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 13 Jul 2024 08:10:46 +0100 Subject: [PATCH 1/2] zend build making sigjmp_buf and api check as mandatory. all unixes support it since long time, the few which don't do not meet the requirements to build php anyway (minix, dietlibc, ...). --- Zend/Zend.m4 | 15 ++++++++++----- Zend/zend_portability.h | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index c4e6086d0f7ff..b460f406a7674 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -151,11 +151,16 @@ AC_CHECK_FUNCS(m4_normalize([ pthread_stackseg_np ])) -dnl Check for sigsetjmp. If it's defined as a macro, AC_CHECK_FUNCS won't work. -AC_CHECK_FUNCS([sigsetjmp],, - [AC_CHECK_DECL([sigsetjmp], - [AC_DEFINE([HAVE_SIGSETJMP], [1])],, - [#include ])]) +dnl +dnl ZEND_CHECK_SIGSETJMP +dnl +dnl Check for sigsetjmp. If sigsetjmp is defined as a macro, use AC_CHECK_DECL +dnl as a fallback since AC_CHECK_FUNC cannot detect macros. +dnl +AC_CHECK_FUNC([sigsetjmp],, + [AC_CHECK_DECL([sigsetjmp],, + [AC_MSG_ERROR([Required sigsetjmp not found. Please, check config.log])], + [#include ])]) ZEND_CHECK_STACK_DIRECTION ZEND_CHECK_FLOAT_PRECISION diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h index 8fe1f73bd1a94..fb9e982e84ea1 100644 --- a/Zend/zend_portability.h +++ b/Zend/zend_portability.h @@ -394,7 +394,7 @@ char *alloca(); # define XtOffsetOf(s_type, field) offsetof(s_type, field) #endif -#ifdef HAVE_SIGSETJMP +#ifndef ZEND_WIN32 # define SETJMP(a) sigsetjmp(a, 0) # define LONGJMP(a,b) siglongjmp(a, b) # define JMP_BUF sigjmp_buf From 2f6495429184b2ebc3cc33ad3230bbc0b60eca91 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Wed, 17 Jul 2024 20:24:56 +0100 Subject: [PATCH 2/2] fix comment --- Zend/Zend.m4 | 2 -- 1 file changed, 2 deletions(-) diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index b460f406a7674..a8d8297bb462b 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -151,8 +151,6 @@ AC_CHECK_FUNCS(m4_normalize([ pthread_stackseg_np ])) -dnl -dnl ZEND_CHECK_SIGSETJMP dnl dnl Check for sigsetjmp. If sigsetjmp is defined as a macro, use AC_CHECK_DECL dnl as a fallback since AC_CHECK_FUNC cannot detect macros.