For some reason, we've been going without a MSAN CI job, even though
even run-buildbot defined a generic-msan job. This must have been an
oversight that went unnoticed. Thanks to @EricWF for the catch.
Details
- Reviewers
- None
- Group Reviewers
Restricted Project Restricted Project - Commits
- rGcb055e51f994: [libc++] Add a CI job running MSAN
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I'm not sure this will be that easy. MSAN is tricky. According to documentation, even libc has to be instrumented for this to work properly. See https://clang.llvm.org/docs/MemorySanitizer.html#id11. And AFAIK we don't build libc on the nodes.
Add markup for failing tests in libunwind. I still think it's worth enabling for the libc++ tests.
It also says they implement various interceptors for common libc functionality, and we don't use anything super fancy, so perhaps we'll be good! So far it looks like only libunwind is having trouble.
My guess is that all that's needed here are MSAN annotations around the functions written in inline assembly (saving/restoring all registers).
I'm really not familiar with those -- would you like to take a look? You can commandeer if you'd like.