2023-10-06 Niels Möller <nisse@lysator.liu.se>
+ * aclocal.m4 (NETTLE_PROG_VALGRIND): New macro.
+ * configure.ac: Use it.
+ * testsuite/Makefile.in (TS_SH): Include side-channel tests only
+ if we have a working valgrind.
+
* misc/c89: New wrapper script to force compiling in c89 mode.
2023-10-04 Niels Möller <nisse@lysator.liu.se>
[AC_MSG_ERROR([neither "mtctr 6" nor "mtctr r6" works])])])])
ASM_PPC_WANT_R_REGISTERS="$gmp_cv_asm_powerpc_r_registers"
])
+
+# Check if valgrind supports the platform we are compiling for.
+AC_DEFUN([NETTLE_PROG_VALGRIND],
+[AC_CACHE_CHECK([if valgrind is working],
+ nettle_cv_prog_valgrind,
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
+ if valgrind -q ./conftest$EXEEXT 2>&AS_MESSAGE_LOG_FD; then
+ nettle_cv_prog_valgrind=yes
+ else
+ nettle_cv_prog_valgrind=no
+ fi], [nettle_cv_prog_valgrind=no])])
+ if test "$nettle_cv_prog_valgrind" = yes ; then
+ IF_VALGRIND=''
+ else
+ IF_VALGRIND='#'
+ fi
+ AC_SUBST(IF_VALGRIND)
+])
GMP_PROG_CC_FOR_BUILD
GMP_PROG_EXEEXT_FOR_BUILD
+# Check if valgrind is working; expected to fail in cross builds.
+NETTLE_PROG_VALGRIND
+
LSH_DEPENDENCY_TRACKING
if test "x$enable_gcov" = "xyes"; then
TARGETS = $(TS_C) $(TS_CXX)
TS_SC = sc-cnd-memcpy-test sc-gcm-test sc-memeql-test \
@IF_HOGWEED@ sc-pkcs1-sec-decrypt-test sc-rsa-sec-decrypt-test
-TS_SH = $(TS_SC) symbols-test
+TS_SH = symbols-test @IF_VALGRIND@ $(TS_SC)
TS_ALL = $(TARGETS) $(TS_SH) @IF_DLOPEN_TEST@ dlopen-test$(EXEEXT)
TS_FAT = $(patsubst %, %$(EXEEXT), aes-test cbc-test \