INNER CODE UNIT · Java
ASAN_LIB_SO_CLANG_LATEST
objectbox/objectbox-java · scripts/test-with-asan.sh:25
ASAN_LIB_SO_CLANG_LATEST=$(find /usr/lib/llvm-*/ -name libclang_rt.asan-${ASAN_ARCH}.so | tail -1)
# Known to work with clang 16 on Rocky Linux 8.10 (path is like /usr/local/lib/clang/16/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.so)
ASAN_LIB_SO_CLANG=$(clang -print-file-name=libclang_rt.asan.so || true)
# Approach via https://stackoverflow.com/a/54386573/551269, but use libasan.so.8 instead of libasan.so
# to not find the linker script, but the actual library (and to avoid parsing it out of the linker script).
ASAN_LIB_SO_GCC=$(gcc -print-file-name=libasan.so.8 || true)
echo "clang latest asan lib: ${ASAN_LIB_SO_CLANG_LATEST}"
echo " clang asan lib: ${ASAN_LIB_SO_CLANG}"
echo " gcc asan lib: ${ASAN_LIB_SO_GCC}"
# prefer clang version in case clang llvm-symbolizer is used (see below)
if [ -f "${ASAN_LIB_SO_CLANG_LATEST}" ]; then
export ASAN_LIB_SO="${ASAN_LIB_SO_CLANG_LATEST}"
elif [ -f "${ASAN_LIB_SO_CLANG}" ]; then
export ASAN_LIB_SO="${ASAN_LIB_SO_CLANG}"
elif [ -f "${ASAN_LIB_SO_GCC}" ]; then
export ASAN_LIB_SO="${ASAN_LIB_SO_GCC}"
else
echo "No asan lib found; please specify via ASAN_LIB_SO"