[PATCH] D139092: [LLD][ELF] Cortex-M Security Extensions (CMSE) Support

Mitch Phillips via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 22 05:33:24 PDT 2023


hctim added a comment.

Hi folks,

Looks like this broke the UBSan bulidbot. Unfortunately this patch was included in a set <https://lab.llvm.org/buildbot/#/builders/238/builds/4001> with a build-break, so it only showed up the build after <https://lab.llvm.org/buildbot/#/builders/238/builds/4002> and all the builds since.

The problem reproduces with a simple UBSan build, *as long as you use libcxx*. Using libstdc++ doesn't repro the problem.

You can reproduce the full buildbot using https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild, either `buildbot_fast.sh` or `buildbot_bootstrap_ubsan.sh` should repro it. Or, my faster variant for local repro was:

  $ cmake \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DCMAKE_C_COMPILER=$HOME/llvm-build/opt/bin/clang \
  -DCMAKE_CXX_COMPILER=$HOME/llvm-build/opt/bin/clang++ \
  -DLLVM_USE_LINKER=lld \
  -GNinja \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_C_FLAGS="-fsanitize=undefined" \
  -DCMAKE_CXX_FLAGS="-fsanitize=undefined" \
  -DLLVM_ENABLE_PROJECTS="'clang;lld;libc'" \
  -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
  -DLLVM_LIBC_ENABLE_LINTING=OFF \
  -DLLVM_USE_SANITIZER=Undefined \
  -DLLVM_ENABLE_LIBCXX=ON `# NOTE: Super important!` \
  /usr/local/google/home/mitchp/llvm/llvm
  $ ninja check-lld

Not sure whether you need a modern libcxx. The buildbot does all the steps for you, but you can also have success doing a `ninja install` from a regular opt build, then adding libcxx to your linkerconfig. Something like `sudo ldconfig /usr/local/lib/x86_64-unknown-linux-gnu/`, you can find libcxx by `find /usr/local/lib -name *libc++*`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139092



More information about the llvm-commits mailing list