From bc702ca36f1fffc0247a011af552b5aceb6fcfb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Thu, 23 Oct 2014 15:59:35 +0200 Subject: [PATCH] Enable valgrind's --partial-loads-ok only when build includes assembly files. --- ChangeLog | 4 ++++ configure.ac | 6 ++++++ testsuite/Makefile.in | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 37bbec20..34f9ac43 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2014-10-23 Niels Möller <nisse@lysator.liu.se> + * configure.ac (IF_ASM): New substituted variable. + * testsuite/Makefile.in (VALGRIND): Allow partial loads only when + build includes assembly files. + * memxor-internal.h (READ_PARTIAL): New macro. * memxor.c (memxor_different_alignment): Avoid out-of-bounds reads, corresponding to valgrind's --partial-loads-ok. Use diff --git a/configure.ac b/configure.ac index 17e6122f..78bcce2e 100644 --- a/configure.ac +++ b/configure.ac @@ -356,6 +356,12 @@ fi AC_SUBST([OPT_ASM_NETTLE_SOURCES]) AC_SUBST([OPT_ASM_HOGWEED_SOURCES]) AC_SUBST([ASM_RODATA]) +if test "x$enable_assembler" = xyes ; then + IF_ASM='' +else + IF_ASM='#' +fi +AC_SUBST([IF_ASM]) AH_VERBATIM([HAVE_NATIVE], [/* Define to 1 each of the following for which a native (ie. CPU specific) diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in index 96c0bc80..6bc1907c 100644 --- a/testsuite/Makefile.in +++ b/testsuite/Makefile.in @@ -114,7 +114,7 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \ # --partial-loads-ok=yes is needed for memxor's handling of unaligned # data. -VALGRIND = valgrind --error-exitcode=1 --leak-check=full --partial-loads-ok=yes --show-reachable=yes +VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes # The PATH update is for locating dlls on w*ndows. check: $(TS_ALL) -- GitLab