1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00

Enable ifunc checks on FreeBSD 12+

This was disabled in 2019 due to problems reported in FreeBSD 11. The original
report (PHP bug 77284) includes a comment that FreeBSD 12 worked - which also
happens to be the first version ifunc use appeared in libc.

Close GH-12288
This commit is contained in:
Thomas Hurst
2023-09-23 18:42:24 +00:00
committed by David Carlier
parent 07a4f89c49
commit b90c9ca7db
2 changed files with 7 additions and 4 deletions

1
NEWS
View File

@@ -5,6 +5,7 @@ PHP NEWS
Core:
. Added zend_call_stack_get implementation for NetBSD, DragonFlyBSD,
Solaris and Haiku. (David Carlier)
. Enabled ifunc checks on FreeBSD from the 12.x releases. (Freaky)
Date:
. Added DateTime[Immutable]::createFromTimestamp. (Marc Bennewitz)

View File

@@ -562,10 +562,12 @@ dnl Checks for GCC function attributes on all systems except ones without glibc
dnl Fix for these systems is already included in GCC 7, but not on GCC 6.
dnl
dnl At least some versions of FreeBSD seem to have buggy ifunc support, see
dnl bug #77284. Conservatively don't use ifuncs on FreeBSD.
AS_CASE([$host_alias], [*-*-*android*|*-*-*uclibc*|*-*-*musl*|*freebsd*|*openbsd*], [true], [
AX_GCC_FUNC_ATTRIBUTE([ifunc])
AX_GCC_FUNC_ATTRIBUTE([target])
dnl bug #77284. Conservatively don't use ifuncs on FreeBSD prior to version 12.
AS_CASE([$host_alias], [*-*-*android*|*-*-*uclibc*|*-*-*musl*|*openbsd*], [true], [
if test "`uname -s 2>/dev/null`" != "FreeBSD" || test "`uname -U 2>/dev/null`" -ge 1200000; then
AX_GCC_FUNC_ATTRIBUTE([ifunc])
AX_GCC_FUNC_ATTRIBUTE([target])
fi
])
dnl Check for IPv6 support.