google / google/sanitizers

MemorySanitizerLibcxxHowTo document is out-of-date

Open
#1,815 1 comment 6 reactions 0 assignees View on GitHub
docs-cleanup-2025
Dominant language
C
Stars
12.5k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

On https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo#instrumented-libc, the instructions say to run:

```
cmake -GNinja ../llvm \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi" \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_USE_SANITIZER=MemoryWithOrigins
```

However this fails with:

```
CMake Error at CMakeLists.txt:130 (MESSAGE):
libcxx isn't a known project:
bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;lld;lldb;mlir;openmp;polly;pstl;flang.
Did you mean to enable it as a runtime in LLVM_ENABLE_RUNTIMES?
```

Based on reading [the libc++ vendor docs](https://libcxx.llvm.org/VendorDocumentation.html), the correct build command should be:

```
cmake -GNinja -S ../runtimes \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
-DLIBCXXABI_USE_LLVM_UNWINDER=off \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_USE_SANITIZER=MemoryWithOrigins
```

Could this be updated on the wiki?

Contributor guide

Open the contributing guide

Research direction

Open the MemorySanitizerLibcxxHowTo wiki page at the Instrumented libc section and compare its command with the linked libc++ Vendor Documentation. Update the instructions to reflect the current runtime configuration, then verify that the page no longer directs users to the failing project configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.