Skip to content

Commit d21ed20

Browse files
committed
[ASan][ROCm][Staging] Disable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR.
Add LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF for ASan cmake configuration of release/debug build/install of openmp && offload components.
1 parent 4922ca5 commit d21ed20

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

bin/build_offload.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,14 @@ fi
120120

121121
if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then
122122
ASAN_LIB_PATH=$($INSTALL_PREFIX/llvm/bin/clang --print-runtime-dir)
123+
if [ ! -d "$ASAN_LIB_PATH" ]; then
124+
CLANG_RES_DIR=$($INSTALL_PREFIX/llvm/bin/clang --print-resource-dir)
125+
ASAN_LIB_PATH="$CLANG_RES_DIR/lib/linux"
126+
fi
123127
ASAN_RPATH_FLAGS="-Wl,-rpath=$ASAN_LIB_PATH -L$ASAN_LIB_PATH"
124128
CXXFLAGS="$CXXFLAGS $ASAN_RPATH_FLAGS -I$ROCM_DIR/include -I$ROCM_DIR/include/hsa"
125129
CFLAGS="$CFLAGS $ASAN_RPATH_FLAGS -I$ROCM_DIR/include -I$ROCM_DIR/include/hsa"
130+
LDFLAGS=$LDFLAGS
126131
fi
127132

128133
if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
@@ -161,7 +166,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
161166
fi
162167

163168
if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then
164-
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DSANITIZER_AMDGPU=1 -DOFFLOAD_LIBDIR_SUFFIX=/asan"
169+
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DSANITIZER_AMDGPU=1 -DOFFLOAD_LIBDIR_SUFFIX=/asan"
165170
mkdir -p $BUILD_DIR/build/offload/asan
166171
cd $BUILD_DIR/build/offload/asan
167172
echo " ------Running offload-asan cmake ---- "
@@ -195,7 +200,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
195200

196201
# Only use CMAKE_CXX/C_FLAGS on non-asan builds as these will overwrite the asan flags
197202
if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then
198-
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DSANITIZER_AMDGPU=1 -DOFFLOAD_LIBDIR_SUFFIX=-debug/asan"
203+
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DSANITIZER_AMDGPU=1 -DOFFLOAD_LIBDIR_SUFFIX=-debug/asan"
199204
fi
200205

201206
MYCMAKEOPTS="$MYCMAKEOPTS -DOFFLOAD_LIBDIR_SUFFIX=-debug"

bin/build_openmp.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,14 @@ fi
120120

121121
if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then
122122
ASAN_LIB_PATH=$($INSTALL_PREFIX/llvm/bin/clang --print-runtime-dir)
123+
if [ ! -d "$ASAN_LIB_PATH" ]; then
124+
CLANG_RES_DIR=$($INSTALL_PREFIX/llvm/bin/clang --print-resource-dir)
125+
ASAN_LIB_PATH="$CLANG_RES_DIR/lib/linux"
126+
fi
123127
ASAN_RPATH_FLAGS="-Wl,-rpath=$ASAN_LIB_PATH -L$ASAN_LIB_PATH"
124128
CXXFLAGS="$CXXFLAGS $ASAN_RPATH_FLAGS -I$ROCM_DIR/include -I$ROCM_DIR/include/hsa"
125129
CFLAGS="$CFLAGS $ASAN_RPATH_FLAGS -I$ROCM_DIR/include -I$ROCM_DIR/include/hsa"
130+
LDFLAGS="$LDFLAGS"
126131
fi
127132

128133
if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
@@ -161,7 +166,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
161166
fi
162167

163168
if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then
164-
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DSANITIZER_AMDGPU=1 -DLLVM_LIBDIR_SUFFIX=/asan"
169+
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DSANITIZER_AMDGPU=1 -DLLVM_LIBDIR_SUFFIX=/asan"
165170
mkdir -p $BUILD_DIR/build/openmp/asan
166171
cd $BUILD_DIR/build/openmp/asan
167172
echo " ------Running openmp-asan cmake ---- "
@@ -195,7 +200,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
195200

196201
# Only use CMAKE_CXX/C_FLAGS on non-asan builds as these will overwrite the asan flags
197202
if [ "$AOMP_BUILD_SANITIZER" == 1 ]; then
198-
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DSANITIZER_AMDGPU=1 -DLLVM_LIBDIR_SUFFIX=-debug/asan"
203+
ASAN_CMAKE_OPTS="$MYCMAKEOPTS -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF -DSANITIZER_AMDGPU=1 -DLLVM_LIBDIR_SUFFIX=-debug/asan"
199204
fi
200205

201206
MYCMAKEOPTS="$MYCMAKEOPTS -DLLVM_LIBDIR_SUFFIX=-debug"

0 commit comments

Comments
 (0)