IMPALA-5031: Allow UBSAN to be set on codegen

This adds a new buildall options, -full_ubsan, that is stronger than
just -ubsan, in that it forces code generated by cross compilation to
LLVM IR to use the undefined behavior sanitizer as well. Because this
slows down testing significantly, it is not made the default when
using -ubsan.

Change-Id: I054e78dd172ee140f2095a523595ff030494e560
Reviewed-on: http://gerrit.cloudera.org:8080/11380
Reviewed-by: Jim Apple <jbapple-impala@apache.org>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
Jim Apple
2017-03-11 19:47:48 -08:00
committed by Impala Public Jenkins
parent b8d68cad00
commit 2a274a1597
13 changed files with 76 additions and 42 deletions

View File

@@ -125,6 +125,10 @@ do
-ubsan)
BUILD_UBSAN=1
;;
-full_ubsan)
BUILD_UBSAN=1
MAKE_IMPALA_ARGS="${MAKE_IMPALA_ARGS} -ubsan_codegen"
;;
-tsan)
BUILD_TSAN=1
;;
@@ -199,7 +203,10 @@ do
echo "[-codecoverage] : Build with code coverage [Default: False]"
echo "[-asan] : Address sanitizer build [Default: False]"
echo "[-tidy] : clang-tidy build [Default: False]"
echo "[-ubsan] : Undefined behavior build [Default: False]"
echo "[-ubsan] : Undefined behavior sanitizer build [Default: False]"
echo "[-full_ubsan] : Undefined behavior sanitizer build, including code generated"\
" by cross-compilation to LLVM IR. Much slower queries than plain -ubsan "\
" [Default: False]"
echo "[-skiptests] : Skips execution of all tests"
echo "[-notests] : Skips building and execution of all tests"
echo "[-start_minicluster] : Start test cluster including Impala and all"\