From: Mark Wielaard Date: Tue, 20 Sep 2016 17:57:00 +0000 (+0000) Subject: Add a feature check for tests that use -march=armv8-a+crc. X-Git-Tag: svn/VALGRIND_3_12_0~54^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=87b9c5b12570fb5d4b490eb87eb52ee8de8fe420;p=thirdparty%2Fvalgrind.git Add a feature check for tests that use -march=armv8-a+crc. Older gcc versions for arm64 don't support the crc arch feature. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15971 --- diff --git a/configure.ac b/configure.ac index c84bca7989..85439a4c0e 100644 --- a/configure.ac +++ b/configure.ac @@ -2685,6 +2685,29 @@ AC_MSG_RESULT([no]) AM_CONDITIONAL(BUILD_IFUNC_TESTS, test x$ac_have_ifunc_attr = xyes) +# Does the C compiler support the armv8 crc feature flag +# Note, this doesn't generate a C-level symbol. It generates a +# automake-level symbol (BUILD_ARMV8_CRC_TESTS), used in test Makefile.am's +AC_MSG_CHECKING([if gcc supports the armv8 crc feature flag]) + +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -march=armv8-a+crc -Werror" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +int main() +{ + return 0; +} +]])], [ +ac_have_armv8_crc_feature=yes +AC_MSG_RESULT([yes]) +], [ +ac_have_armv8_crc_feature=no +AC_MSG_RESULT([no]) +]) +CFLAGS="$save_CFLAGS" + +AM_CONDITIONAL(BUILD_ARMV8_CRC_TESTS, test x$ac_have_armv8_crc_feature = xyes) + # XXX JRS 2010 Oct 13: what is this for? For sure, we don't need this # when building the tool executables. I think we should get rid of it. diff --git a/none/tests/arm64/Makefile.am b/none/tests/arm64/Makefile.am index 01d6c55380..a0a2cfe0b5 100644 --- a/none/tests/arm64/Makefile.am +++ b/none/tests/arm64/Makefile.am @@ -12,12 +12,15 @@ EXTRA_DIST = \ check_PROGRAMS = \ allexec \ - crc32 \ cvtf_imm \ fp_and_simd \ integer \ memory +if BUILD_ARMV8_CRC_TESTS + check_PROGRAMS += crc32 +endif + AM_CFLAGS += @FLAG_M64@ AM_CXXFLAGS += @FLAG_M64@ AM_CCASFLAGS += @FLAG_M64@ diff --git a/none/tests/arm64/crc32.vgtest b/none/tests/arm64/crc32.vgtest index 53aa8dbd84..24ce0e3b5a 100644 --- a/none/tests/arm64/crc32.vgtest +++ b/none/tests/arm64/crc32.vgtest @@ -1,2 +1,3 @@ prog: crc32 +prereq: test -x crc32 vgopts: -q