From cdbf577973a76a0627debb5105f46d6f4509c39e Mon Sep 17 00:00:00 2001 From: Emilia Kasper Date: Fri, 8 Apr 2016 18:55:28 +0200 Subject: Disable some sanitizer checks without PEDANTIC Code without PEDANTIC has intentional "undefined" behaviour. To get best coverage for both PEDANTIC and non-PEDANTIC codepaths, run the sanitizer builds in two different configurations: 1) Without PEDANTIC but with alignment checks disabled. 2) With PEDANTIC. To not overload Travis too much, run one build with clang and the other with gcc (chosen at random). Also remove a micro-optimization in CAST code to be able to -fsanitize=shift. Whether shift sanitization is meaningful for crypto or an obstacle is debatable but since this appears to be the only offender, we might as well keep the check for now. Reviewed-by: Richard Levitte --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.travis.yml') diff --git a/.travis.yml b/.travis.yml index 27f4b37f55..62675da039 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,13 +38,13 @@ matrix: env: CONFIG_OPTS="-fsanitize=address" - os: linux compiler: clang-3.6 - env: CONFIG_OPTS="no-asm -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2" + env: CONFIG_OPTS="no-asm -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2 -fno-sanitize=alignment" - os: linux compiler: gcc-5 env: CONFIG_OPTS="-fsanitize=address" - os: linux compiler: gcc-5 - env: CONFIG_OPTS="no-asm -fno-sanitize-recover -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2" + env: CONFIG_OPTS="no-asm -fno-sanitize-recover -DPEDANTIC -fsanitize=address -fsanitize=undefined enable-rc5 enable-md2" - os: linux compiler: i686-w64-mingw32-gcc env: CONFIG_OPTS="no-pic" -- cgit v1.2.3