ci: Add commands for building clang ubsan/asan.
Signed-off-by: Jeff Epler <jepler@gmail.com>
This commit is contained in:
parent
2822d83aff
commit
5be032be9a
1 changed files with 38 additions and 0 deletions
38
tools/ci.sh
38
tools/ci.sh
|
|
@ -529,6 +529,22 @@ CI_UNIX_OPTS_SANITIZE_UNDEFINED=(
|
|||
LDFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute"
|
||||
)
|
||||
|
||||
CI_UNIX_OPTS_SANITIZE_ADDRESS_CLANG=(
|
||||
VARIANT=coverage
|
||||
CFLAGS_EXTRA="-fsanitize=address --param asan-use-after-return=0"
|
||||
LDFLAGS_EXTRA="-fsanitize=address --param asan-use-after-return=0 -fsanitize-ignorelist=variants/coverage/clang-asan-ignorelist.txt"
|
||||
CXX=clang++
|
||||
CC=clang
|
||||
)
|
||||
|
||||
CI_UNIX_OPTS_SANITIZE_UNDEFINED_CLANG=(
|
||||
VARIANT=coverage
|
||||
CFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute"
|
||||
LDFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute -fsanitize-ignorelist=variants/coverage/clang-ubsan-ignorelist.txt"
|
||||
CXX=clang++
|
||||
CC=clang
|
||||
)
|
||||
|
||||
function ci_unix_build_helper {
|
||||
make ${MAKEOPTS} -C mpy-cross
|
||||
make ${MAKEOPTS} -C ports/unix "$@" submodules
|
||||
|
|
@ -762,6 +778,28 @@ function ci_unix_settrace_stackless_run_tests {
|
|||
ci_unix_run_tests_full_helper standard "${CI_UNIX_OPTS_SYS_SETTRACE_STACKLESS[@]}"
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_address_clang_build {
|
||||
make ${MAKEOPTS} -C mpy-cross
|
||||
make ${MAKEOPTS} -C ports/unix submodules
|
||||
make ${MAKEOPTS} -C ports/unix "${CI_UNIX_OPTS_SANITIZE_UNDEFINED_CLANG[@]}"
|
||||
ci_unix_build_ffi_lib_helper gcc
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_address_clang_run_tests {
|
||||
MICROPY_TEST_TIMEOUT=60 ci_unix_run_tests_helper "${CI_UNIX_OPTS_SANITIZE_UNDEFINED_CLANG[@]}"
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_undefined_clang_build {
|
||||
make ${MAKEOPTS} -C mpy-cross
|
||||
make ${MAKEOPTS} -C ports/unix submodules
|
||||
make ${MAKEOPTS} -C ports/unix "${CI_UNIX_OPTS_SANITIZE_UNDEFINED_CLANG[@]}"
|
||||
ci_unix_build_ffi_lib_helper gcc
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_undefined_clang_run_tests {
|
||||
MICROPY_TEST_TIMEOUT=60 ci_unix_run_tests_helper "${CI_UNIX_OPTS_SANITIZE_UNDEFINED_CLANG[@]}"
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_undefined_build {
|
||||
make ${MAKEOPTS} -C mpy-cross
|
||||
make ${MAKEOPTS} -C ports/unix submodules
|
||||
|
|
|
|||
Loading…
Reference in a new issue