summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2020-01-29 12:15:34 +0300
committerDmitry Stogov <dmitry@zend.com>2020-01-29 12:15:34 +0300
commit8bdce8edabd38adeeb4a71e18a5bca8d5dded08e (patch)
treeec3eaac2f4b92f7287ced94a0ddb4f97f9c3b8b9
parentcffff1fb03f995cbe07896d317e4c367e0db89c2 (diff)
parentce44cd3b3c32a1ef400065468df94efa6a9624dd (diff)
downloadphp-git-8bdce8edabd38adeeb4a71e18a5bca8d5dded08e.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Fixed bug #79092 (Building with clang+lld-9 results in a broken PHP binary)
-rw-r--r--configure.ac43
1 files changed, 36 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index 4d6106581f..1c1964a9ee 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1020,6 +1020,42 @@ esyscmd(./build/config-stubs ext)
dnl Extensions post-config.
dnl ----------------------------------------------------------------------------
+dnl Align segments on huge page boundary
+case $host_alias in
+ i[[3456]]86-*-linux-* | x86_64-*-linux-*)
+ AC_MSG_CHECKING(linker support for -zcommon-page-size=2097152)
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[int main() {return 0;}]])],
+ [ac_cv_common_page_size=yes],
+ [ac_cv_common_page_size=no],
+ [ac_cv_common_page_size=no])
+ LDFLAGS=$save_LDFLAGS
+ if test "$ac_cv_common_page_size" = "yes"; then
+ AC_MSG_RESULT([yes])
+ EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
+ else
+ AC_MSG_RESULT([no])
+ AC_MSG_CHECKING(linker support for -zmax-page-size=2097152)
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[int main() {return 0;}]])],
+ [ac_cv_max_page_size=yes],
+ [ac_cv_max_page_size=no],
+ [ac_cv_max_page_size=no])
+ LDFLAGS=$save_LDFLAGS
+ if test "$ac_cv_max_page_size" = "yes"; then
+ AC_MSG_RESULT([yes])
+ EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"
+ else
+ AC_MSG_RESULT([no])
+ fi
+ fi
+ ;;
+esac
+
enable_shared=yes
enable_static=yes
@@ -1140,13 +1176,6 @@ if test "$PHP_THREAD_SAFETY" = "yes"; then
TSRM_CHECK_PTHREADS
fi
-dnl Align segments on huge page boundary
-case $host_alias in
- i[[3456]]86-*-linux-* | x86_64-*-linux-*)
- EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
- ;;
-esac
-
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
EXTRA_LIBS="$EXTRA_LIBS $LIBS"