Many folks are working hard on getting project governance done but LLVM still doesn’t have one yet.
In many subprojects, it isn’t always clear who has the authority on voting for accepting or rejecting proposals.
This can lead to situations where the fate of an RFC is uncertain, especially for proposals introducing entirely new features (as opposed to incremental updates).
(This raises a concern that proposals like this might sometimes get a “weak accept” simply because others don’t feel strongly enough to oppose them.
While this might be convenient for individuals with niche interests, it can lead to a gradual accumulation of features with limited broader value.)
In this context, I’d like to share my perspective on the compiler-rt part of -fsanitize=realtime.
While I value your contribution, I have some reservations about its inclusion at this time:
- Limited use case: I’m concerned that the benefits of this extension might be very niche, potentially only applicable to your specific use case.
- Testing overhead: Adding another configuration to
check-sanitizer
would increase the testing burden and slow down the test suite. We could also make this optional at the expense of further configuration combinatorial explosion issue. - Customization challenges: Both -fsanitize=realtime and dynamic analysis for Trusted Computing Base involve similar needs for interceptor customization. A fixed interceptor set designed for one might not be suitable for other use cases. Would this inclusion attract others to add similar extensions to ease their integration?
I’ve reviewed many compiler-rt patches and am personally a top 3 contributor to the compiler-rt directory over the past 5 years, and my experience suggests that features like this can thrive in downstream repositories.
The recent open sourcing of GitHub - google/gwpsan: GWPSan: Sampling-Based Sanitizer Framework demonstrates how the __interceptor_
idea can be effectively explored in a downstream context.
(I am not affiliated with that project, but I am interested and want to learn more about it.)
Perhaps a similar approach could be beneficial for your runtime.