]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
Add configure test for valgrind.
authorNiels Möller <nisse@lysator.liu.se>
Fri, 6 Oct 2023 10:29:41 +0000 (12:29 +0200)
committerNiels Möller <nisse@lysator.liu.se>
Fri, 6 Oct 2023 13:16:25 +0000 (15:16 +0200)
ChangeLog
aclocal.m4
configure.ac
testsuite/Makefile.in

index 5cc379018947ea013feba536d1282f7a0fd7ce5a..996619300a412f06170697d83dde49450afae03f 100644 (file)
--- 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>
index 0d27e18305c3c55b45bbe7c592adad1708575d52..629db8a7d20b9ea91b2fd333f4ab8d31da0dd46f 100644 (file)
@@ -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)
+])
index 177b40f32745e4342278454d2cd97469a4511457..867767a6a16d6e67fa1d5c070cb048e67c0bae00 100644 (file)
@@ -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
index 475ec97dc5784aa2a7df169a9a481d2586310e54..0cb896ff7bf626e6b50454a655013472014a95a3 100644 (file)
@@ -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 \