lang/php73: Fix "Bus error (core dumped)" by disabling ifuncs
PHP 7.3 uses ifuncs optimisations which generates a list of problems on FreeBSD:
https://bugs.php.net/bug.php?id=77284
https://bugs.php.net/bug.php?id=77279
https://bugs.php.net/bug.php?id=77261
Therefore ifuncs will be disabled in PHP 7.3.1. To make it usable until the release,
we import the patch until then:
291589114a
PR: 233024
Submitted by: Pascal Christen <pascal.christen@hostpoint.ch>
MFH: 2019Q1
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
PORTNAME= php73
|
||||
DISTVERSION= 7.3.0
|
||||
PORTREVISION?= 0
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES?= lang devel www
|
||||
MASTER_SITES= PHP/distributions
|
||||
DISTNAME= php-${DISTVERSION}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
--- acinclude.m4.orig 2018-08-14 11:39:24 UTC
|
||||
--- acinclude.m4.orig 2018-12-04 16:12:30 UTC
|
||||
+++ acinclude.m4
|
||||
@@ -971,15 +971,9 @@ dnl ------------------------------------
|
||||
if test "$3" != "shared" && test "$3" != "yes" && test "$4" = "cli"; then
|
||||
@@ -32,7 +32,7 @@
|
||||
dnl Some systems require that we link $2 to $1 when building
|
||||
])
|
||||
|
||||
@@ -2934,8 +2922,7 @@ dnl in GNU Make which causes the .d file
|
||||
@@ -2970,8 +2958,7 @@ dnl in GNU Make which causes the .d file
|
||||
$abs_srcdir/$ac_provsrc:;
|
||||
|
||||
$ac_bdir[$]ac_hdrobj: $abs_srcdir/$ac_provsrc
|
||||
@@ -42,7 +42,7 @@
|
||||
\$(PHP_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj
|
||||
|
||||
EOF
|
||||
@@ -2954,12 +2941,12 @@ dnl Always attempt to create both PIC an
|
||||
@@ -2990,12 +2977,12 @@ dnl Always attempt to create both PIC an
|
||||
$ac_bdir[$]ac_provsrc.lo: \$(PHP_DTRACE_OBJS)
|
||||
echo "[#] Generated by Makefile for libtool" > \$[]@
|
||||
@test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir
|
||||
@@ -57,7 +57,7 @@
|
||||
echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\]
|
||||
else [\\]
|
||||
echo "non_pic_object='none'" >> \$[]@ [;\\]
|
||||
@@ -2971,7 +2958,7 @@ EOF
|
||||
@@ -3007,7 +2994,7 @@ EOF
|
||||
*)
|
||||
cat>>Makefile.objects<<EOF
|
||||
$ac_bdir[$]ac_provsrc.o: \$(PHP_DTRACE_OBJS)
|
||||
|
||||
14
lang/php73/files/patch-configure.ac
Normal file
14
lang/php73/files/patch-configure.ac
Normal file
@@ -0,0 +1,14 @@
|
||||
--- configure.ac.orig 2019-01-08 12:14:44 UTC
|
||||
+++ configure.ac
|
||||
@@ -579,7 +579,10 @@ PHP_SOCKADDR_CHECKS
|
||||
|
||||
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
|
||||
-AS_CASE([$host_alias], [*-*-*android*|*-*-*uclibc*|*-*-*musl*], [true], [
|
||||
+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*], [true], [
|
||||
AX_GCC_FUNC_ATTRIBUTE([ifunc])
|
||||
AX_GCC_FUNC_ATTRIBUTE([target])
|
||||
])
|
||||
Reference in New Issue
Block a user