2023-09-20 23:14:25 -05:00
|
|
|
#!/bin/bash -e
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|
# This file will export the same environment variables for running sanitizers as run-ci.py
|
|
|
|
|
# This file is useful to set the suppressions files
|
|
|
|
|
#
|
|
|
|
|
# Example usage:
|
|
|
|
|
#
|
|
|
|
|
# source ./source/scripts/setup-sanitizer-env.sh
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
SUPPR_DIR=$(cd $(dirname ${BASH_SOURCE[0]}) &> /dev/null && pwd)
|
|
|
|
|
|
2025-02-06 08:55:57 -06:00
|
|
|
find-symbolizer()
|
|
|
|
|
{
|
2023-09-20 23:14:25 -05:00
|
|
|
set +e
|
2025-02-06 08:55:57 -06:00
|
|
|
SYMBOLIZER=$(which ${1})
|
2023-09-20 23:14:25 -05:00
|
|
|
set -e
|
|
|
|
|
if [ -n "${SYMBOLIZER}" ]; then
|
|
|
|
|
: ${EXTERNAL_SYMBOLIZER_PATH:="${SYMBOLIZER}"}
|
|
|
|
|
fi
|
2025-02-06 08:55:57 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for i in $(seq 20 -1 8)
|
|
|
|
|
do
|
|
|
|
|
find-symbolizer llvm-symbolizer-${i}
|
2023-09-20 23:14:25 -05:00
|
|
|
done
|
|
|
|
|
|
2025-02-06 08:55:57 -06:00
|
|
|
find-symbolizer llvm-symbolizer
|
|
|
|
|
|
2023-09-20 23:14:25 -05:00
|
|
|
if [ -n "${EXTERNAL_SYMBOLIZER_PATH}" ]; then
|
|
|
|
|
EXTERNAL_SYMBOLIZER=" external_symbolizer_path=${EXTERNAL_SYMBOLIZER_PATH}"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
: ${ASAN_OPTIONS="detect_leaks=0 use_sigaltstack=0 suppressions=${SUPPR_DIR}/address-sanitizer-suppr.txt"}
|
2026-01-27 10:27:54 -08:00
|
|
|
: ${LSAN_OPTIONS="fast_unwind_on_malloc=1 suppressions=${SUPPR_DIR}/leak-sanitizer-suppr.txt"}
|
2024-03-21 17:52:15 -05:00
|
|
|
: ${TSAN_OPTIONS="history_size=5 detect_deadlocks=0 suppressions=${SUPPR_DIR}/thread-sanitizer-suppr.txt${EXTERNAL_SYMBOLIZER}"}
|
2025-02-06 08:55:57 -06:00
|
|
|
: ${UBSAN_OPTIONS="print_stacktrace=1 suppressions=${SUPPR_DIR}/undef-behavior-sanitizer-suppr.txt${EXTERNAL_SYMBOLIZER}"}
|
2023-09-20 23:14:25 -05:00
|
|
|
|
|
|
|
|
export ASAN_OPTIONS
|
|
|
|
|
export LSAN_OPTIONS
|
|
|
|
|
export TSAN_OPTIONS
|
2025-02-06 08:55:57 -06:00
|
|
|
export UBSAN_OPTIONS
|
2023-09-20 23:14:25 -05:00
|
|
|
|
|
|
|
|
echo "ASAN_OPTIONS=\"${ASAN_OPTIONS}\""
|
|
|
|
|
echo "LSAN_OPTIONS=\"${LSAN_OPTIONS}\""
|
|
|
|
|
echo "TSAN_OPTIONS=\"${TSAN_OPTIONS}\""
|
2025-02-06 08:55:57 -06:00
|
|
|
echo "UBSAN_OPTIONS=\"${UBSAN_OPTIONS}\""
|