From 8d597150ee510e3cd2a47a56345b18fb504adf7b Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Wed, 17 Jul 2024 22:18:35 +0100 Subject: [PATCH] zend build making sigjmp_buf and api check as mandatory. (#14942) * 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 | 13 ++++++++----- Zend/zend_portability.h | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index c4e6086d0f7..a8d8297bb46 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -151,11 +151,14 @@ 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 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 8fe1f73bd1a..fb9e982e84e 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