From 97f9b45bfd36a7db1d0596f8975b9e4927e1dd6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Fri, 6 Oct 2023 12:29:41 +0200 Subject: [PATCH] Add configure test for valgrind. --- ChangeLog | 5 +++++ aclocal.m4 | 18 ++++++++++++++++++ configure.ac | 3 +++ testsuite/Makefile.in | 2 +- 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5cc37901..99661930 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 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> diff --git a/aclocal.m4 b/aclocal.m4 index 0d27e183..629db8a7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -546,3 +546,21 @@ AC_DEFUN([GMP_ASM_POWERPC_R_REGISTERS], [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) +]) diff --git a/configure.ac b/configure.ac index 177b40f3..867767a6 100644 --- a/configure.ac +++ b/configure.ac @@ -171,6 +171,9 @@ AC_PROG_LN_S 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 diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in index 475ec97d..0cb896ff 100644 --- a/testsuite/Makefile.in +++ b/testsuite/Makefile.in @@ -68,7 +68,7 @@ TS_CXX = @IF_CXX@ $(CXX_SOURCES:.cxx=$(EXEEXT)) 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 \ -- GitLab