From a27d2c19355a15569dfcdd5da741b57acf1a106a Mon Sep 17 00:00:00 2001 From: "Gabriel F. T. Gomes" Date: Mon, 5 Jun 2017 16:18:54 -0300 Subject: powerpc64le: Require at least POWER8 for powerpc64le Support for powerpc64le requires POWER8 or newer processors. Builds for older processors are not tested. Require at least POWER8 to avoid unintentional builds. * sysdeps/powerpc/powerpc64le/configure.ac: Check for POWER8. * sysdeps/powerpc/powerpc64le/configure: Update. --- ChangeLog | 5 +++++ sysdeps/powerpc/powerpc64le/configure | 30 ++++++++++++++++++++++++++++++ sysdeps/powerpc/powerpc64le/configure.ac | 16 ++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/ChangeLog b/ChangeLog index e0968afc8b..2cfe569757 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-06-26 Gabriel F. T. Gomes + + * sysdeps/powerpc/powerpc64le/configure.ac: Check for POWER8. + * sysdeps/powerpc/powerpc64le/configure: Update. + 2017-06-26 Gabriel F. T. Gomes Tulio Magno Quites Machado Filho diff --git a/sysdeps/powerpc/powerpc64le/configure b/sysdeps/powerpc/powerpc64le/configure index 78208d2eda..66bb5dcc1a 100644 --- a/sysdeps/powerpc/powerpc64le/configure +++ b/sysdeps/powerpc/powerpc64le/configure @@ -42,4 +42,34 @@ if test "$libc_cv_compiler_powerpc64le_binary128_ok" != "yes"; then : critic_missing="$critic_missing binary128 floating point type (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 diff --git a/sysdeps/powerpc/powerpc64le/configure.ac b/sysdeps/powerpc/powerpc64le/configure.ac index e88e224ae1..20a49d89e8 100644 --- a/sysdeps/powerpc/powerpc64le/configure.ac +++ b/sysdeps/powerpc/powerpc64le/configure.ac @@ -29,4 +29,20 @@ CFLAGS="$save_CFLAGS"]) AS_IF([test "$libc_cv_compiler_powerpc64le_binary128_ok" != "yes"], [critic_missing="$critic_missing binary128 floating point type (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]) -- cgit 1.4.1