Skip to content

Commit 7120738

Browse files
committed
Wrap aligning segments checks in AC_CACHE_CHECK
This enables cross-compiling edge cases to override checks with php_cv_have_common_page_size and php_cv_have_max_page_size cache variables when target matches one of the conditions in case pattern. Not done as link check yet due to Clang 9 bug and similar issues: php#5123
1 parent bf845d5 commit 7120738

File tree

1 file changed

+23
-32
lines changed

1 file changed

+23
-32
lines changed

configure.ac

Lines changed: 23 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,40 +1127,31 @@ dnl Extensions post-config.
11271127
dnl ----------------------------------------------------------------------------
11281128

11291129
dnl Align segments on huge page boundary
1130-
case $host_alias in
1131-
i[[3456]]86-*-linux-* | x86_64-*-linux-*)
1132-
AC_MSG_CHECKING(linker support for -zcommon-page-size=2097152)
1130+
AS_CASE([$host_alias], [[i[3456]86-*-linux-* | x86_64-*-linux-*]],
1131+
[AC_CACHE_CHECK([linker support for -zcommon-page-size=2097152],
1132+
[php_cv_have_common_page_size], [
11331133
save_LDFLAGS=$LDFLAGS
11341134
LDFLAGS="$LDFLAGS -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
1135-
AC_RUN_IFELSE(
1136-
[AC_LANG_PROGRAM()],
1137-
[ac_cv_common_page_size=yes],
1138-
[ac_cv_common_page_size=no],
1139-
[ac_cv_common_page_size=no])
1140-
LDFLAGS=$save_LDFLAGS
1141-
if test "$ac_cv_common_page_size" = "yes"; then
1142-
AC_MSG_RESULT([yes])
1143-
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
1144-
else
1145-
AC_MSG_RESULT([no])
1146-
AC_MSG_CHECKING(linker support for -zmax-page-size=2097152)
1147-
save_LDFLAGS=$LDFLAGS
1148-
LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
1149-
AC_RUN_IFELSE(
1150-
[AC_LANG_PROGRAM()],
1151-
[ac_cv_max_page_size=yes],
1152-
[ac_cv_max_page_size=no],
1153-
[ac_cv_max_page_size=no])
1154-
LDFLAGS=$save_LDFLAGS
1155-
if test "$ac_cv_max_page_size" = "yes"; then
1156-
AC_MSG_RESULT([yes])
1157-
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"
1158-
else
1159-
AC_MSG_RESULT([no])
1160-
fi
1161-
fi
1162-
;;
1163-
esac
1135+
AC_RUN_IFELSE([AC_LANG_PROGRAM()],
1136+
[php_cv_have_common_page_size=yes],
1137+
[php_cv_have_common_page_size=no],
1138+
[php_cv_have_common_page_size=no])
1139+
LDFLAGS=$save_LDFLAGS])
1140+
AS_VAR_IF([php_cv_have_common_page_size], [yes],
1141+
[EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"],
1142+
[AC_CACHE_CHECK([linker support for -zmax-page-size=2097152],
1143+
[php_cv_have_max_page_size], [
1144+
save_LDFLAGS=$LDFLAGS
1145+
LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
1146+
AC_RUN_IFELSE([AC_LANG_PROGRAM()],
1147+
[php_cv_have_max_page_size=yes],
1148+
[php_cv_have_max_page_size=no],
1149+
[php_cv_have_max_page_size=no])
1150+
LDFLAGS=$save_LDFLAGS])
1151+
AS_VAR_IF([php_cv_have_max_page_size], [yes],
1152+
[EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"])
1153+
])
1154+
])
11641155

11651156
enable_shared=yes
11661157
enable_static=yes

0 commit comments

Comments
 (0)