Skip to content

Commit 8bdce8e

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Fixed bug #79092 (Building with clang+lld-9 results in a broken PHP binary)
2 parents cffff1f + ce44cd3 commit 8bdce8e

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

configure.ac

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,6 +1020,42 @@ esyscmd(./build/config-stubs ext)
10201020
dnl Extensions post-config.
10211021
dnl ----------------------------------------------------------------------------
10221022

1023+
dnl Align segments on huge page boundary
1024+
case $host_alias in
1025+
i[[3456]]86-*-linux-* | x86_64-*-linux-*)
1026+
AC_MSG_CHECKING(linker support for -zcommon-page-size=2097152)
1027+
save_LDFLAGS=$LDFLAGS
1028+
LDFLAGS="$LDFLAGS -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
1029+
AC_RUN_IFELSE(
1030+
[AC_LANG_SOURCE([[int main() {return 0;}]])],
1031+
[ac_cv_common_page_size=yes],
1032+
[ac_cv_common_page_size=no],
1033+
[ac_cv_common_page_size=no])
1034+
LDFLAGS=$save_LDFLAGS
1035+
if test "$ac_cv_common_page_size" = "yes"; then
1036+
AC_MSG_RESULT([yes])
1037+
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
1038+
else
1039+
AC_MSG_RESULT([no])
1040+
AC_MSG_CHECKING(linker support for -zmax-page-size=2097152)
1041+
save_LDFLAGS=$LDFLAGS
1042+
LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
1043+
AC_RUN_IFELSE(
1044+
[AC_LANG_SOURCE([[int main() {return 0;}]])],
1045+
[ac_cv_max_page_size=yes],
1046+
[ac_cv_max_page_size=no],
1047+
[ac_cv_max_page_size=no])
1048+
LDFLAGS=$save_LDFLAGS
1049+
if test "$ac_cv_max_page_size" = "yes"; then
1050+
AC_MSG_RESULT([yes])
1051+
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"
1052+
else
1053+
AC_MSG_RESULT([no])
1054+
fi
1055+
fi
1056+
;;
1057+
esac
1058+
10231059
enable_shared=yes
10241060
enable_static=yes
10251061

@@ -1140,13 +1176,6 @@ if test "$PHP_THREAD_SAFETY" = "yes"; then
11401176
TSRM_CHECK_PTHREADS
11411177
fi
11421178

1143-
dnl Align segments on huge page boundary
1144-
case $host_alias in
1145-
i[[3456]]86-*-linux-* | x86_64-*-linux-*)
1146-
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
1147-
;;
1148-
esac
1149-
11501179
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
11511180
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
11521181
EXTRA_LIBS="$EXTRA_LIBS $LIBS"

0 commit comments

Comments
 (0)