MaskRay added a comment.

In D127812#4011437 <https://reviews.llvm.org/D127812#4011437>, @hctim wrote:

> LDFLAGS="$LDFLAGS -Wl,--rpath=/tmp/2/lib" # <---- use the instrumented libcxx 
> from step 2

I think -Wl,-rpath and -isystem are somewhat different.

  sanitizer_ldflags="-Wl,--rpath=$libcxx_out/lib/x86_64-unknown-linux-gnu 
-L$libcxx_out/lib/x86_64-unknown-linux-gnu -lc++abi"
  sanitizer_cflags="-nostdinc++ 
-isystem$libcxx_out/include/x86_64-unknown-linux-gnu/c++/v1 
-isystem$libcxx_out/include/c++/v1"

I use:

  ninja -C ~/llvm/out/stable llvm-ar clang lld msan compiler-rt-headers
  
  LLVM_COMMON=(-GNinja -DCMAKE_CXX_COMPILER=$HOME/llvm/out/stable/bin/clang++ 
-DCMAKE_C_COMPILER=$HOME/llvm/out/stable/bin/clang 
-DCMAKE_CXX_ARCHIVE_CREATE="$HOME/llvm/out/stable/bin/llvm-ar qcS --thin 
<TARGET> <OBJECTS>" -DCMAKE_CXX_ARCHIVE_FINISH=: -DLLVM_APPEND_VC_REV=OFF 
-DLLVM_ENABLE_LLD=On -DLLVM_TARGETS_TO_BUILD=host 
-DLLVM_TABLEGEN=/tmp/Rel/bin/llvm-tblgen -DCLANG_ENABLE_ARCMT=off 
-DCLANG_ENABLE_STATIC_ANALYZER=off -DCLANG_TABLEGEN=/tmp/Rel/bin/clang-tblgen)
  
  libcxx_out=$HOME/llvm/out/msan-libcxx
  cmake -Sruntimes -B$libcxx_out $LLVM_COMMON -DCMAKE_BUILD_TYPE=Release 
-DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi' 
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=on -DLLVM_USE_SANITIZER=Memory
  ninja -C $libcxx_out cxx cxxabi
  
  sanitizer_ldflags="-Wl,--rpath=$libcxx_out/lib/x86_64-unknown-linux-gnu 
-L$libcxx_out/lib/x86_64-unknown-linux-gnu -lc++abi"
  sanitizer_cflags="-nostdinc++ 
-isystem$libcxx_out/include/x86_64-unknown-linux-gnu/c++/v1 
-isystem$libcxx_out/include/c++/v1"
  # See http://llvm.org/bugs/show_bug.cgi?id=19071, 
http://www.cmake.org/Bug/view.php?id=15264
  sanitizer_cflags="$sanitizer_cflags $sanitizer_ldflags -fsanitize=memory -w"
  cmake -Hllvm -B/tmp/out/msan ${LLVM_COMMON} -DCMAKE_BUILD_TYPE=Release 
-DLLVM_ENABLE_PROJECTS='clang;lld' -DCMAKE_C_FLAGS=$sanitizer_cflags 
-DCMAKE_CXX_FLAGS=$sanitizer_cflags -DCMAKE_EXE_LINKER_FLAGS=$sanitizer_ldflags 
-DCMAKE_SHARED_LINKER_FLAGS=$sanitizer_ldflags -DLLVM_ENABLE_LIBCXX=On 
-DLLVM_USE_SPLIT_DWARF=On -DLLVM_USE_SANITIZER=Memory


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D127812/new/

https://reviews.llvm.org/D127812

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to