[libcxx-dev] Is a compiler-rt shared spinlock implementation of any use to libcxx?
Mitch Phillips via libcxx-dev
libcxx-dev at lists.llvm.org
Fri May 17 13:49:59 PDT 2019
In a recent discussion <https://reviews.llvm.org/D61923#1503272> from the
reviews of GWP-ASan <https://reviews.llvm.org/D60593>, it was mentioned
that I should probably consult with cxx-dev to see whether they'd be
interested in a common spinlock implementation.
The problem is:
- Scudo hardened allocator (compiler-rt/lib/scudo) requires its own
spinlock as it can't use the C++ standard library due to Fuchsia
- GWP-ASan (as it's packaged into Scudo) also requires a spinlock.
- Compiler-rt sanitizer_common also can't use c++ stdlib, and has its own
spinlock. We can't reuse the sanitizer_common spinlock for Scudo/GWP-ASan
as it's currently tightly coupled into sanitizer_common, and Scudo+Fuchsia
can't afford the code size overhead of pulling the entire sanitizer_common
The plan was to basically write a small standalone spinlock implementation
that can be used by all three of these requirements. Would libcxx benefit
by us making this an llvm-common spinlock rather than compiler-rt-common?
If so, are there any requirements that we need to be aware of?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the libcxx-dev