[3/4] powerpc64le: Require at least POWER8 for powerpc64le
Commit Message
Support for powerpc64le requires POWER8 or newer processors. Builds for
older processors are not tested. Require at least POWER8 to avoid
unintentional builds.
2017-06-12 Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
* sysdeps/powerpc/powerpc64le/configure.ac: Check for POWER8.
* sysdeps/powerpc/powerpc64le/configure: Update.
---
sysdeps/powerpc/powerpc64le/configure | 30 ++++++++++++++++++++++++++++++
sysdeps/powerpc/powerpc64le/configure.ac | 16 ++++++++++++++++
2 files changed, 46 insertions(+)
@@ -68,4 +68,34 @@ if test "$libc_cv_compiler_powerpc64le_compiler_ok" != "yes"; then :
critic_missing="$critic_missing GCC >= 6.2 is required on powerpc64le."
fi
+OLD_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $libc_cv_cc_submachine"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the target machine is at least POWER8" >&5
+$as_echo_n "checking if the target machine is at least POWER8... " >&6; }
+if ${libc_cv_target_power8_ok+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifndef _ARCH_PWR8
+#error invalid target architecture
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ libc_cv_target_power8_ok=yes
+else
+ libc_cv_target_power8_ok=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_target_power8_ok" >&5
+$as_echo "$libc_cv_target_power8_ok" >&6; }
+if test "$libc_cv_target_power8_ok" != "yes"; then :
+ critic_missing="$critic_missing POWER8 or newer is required on powerpc64le."
+fi
+CFLAGS="$OLD_CFLAGS"
+
test -n "$critic_missing" && as_fn_error $? "*** $critic_missing" "$LINENO" 5
@@ -14,4 +14,20 @@ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
AS_IF([test "$libc_cv_compiler_powerpc64le_compiler_ok" != "yes"],
[critic_missing="$critic_missing GCC >= 6.2 is required on powerpc64le."])
+dnl Require at least POWER8 on powerpc64le
+OLD_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $libc_cv_cc_submachine"
+AC_CACHE_CHECK([if the target machine is at least POWER8],
+ libc_cv_target_power8_ok, [
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#ifndef _ARCH_PWR8
+#error invalid target architecture
+#endif
+]])],
+ [libc_cv_target_power8_ok=yes],
+ [libc_cv_target_power8_ok=no])])
+AS_IF([test "$libc_cv_target_power8_ok" != "yes"],
+ [critic_missing="$critic_missing POWER8 or newer is required on powerpc64le."])
+CFLAGS="$OLD_CFLAGS"
+
test -n "$critic_missing" && AC_MSG_ERROR([*** $critic_missing])