Just as the sanitizers have a runtime, the linux kernel has a re-implementation of those runtimes (the linux kernel does not link libgcc/compiler_rt) and IIRC the compiler will work differently (I forget which flags control that). Prior art here.
The sanitizer runtime is not nearly as complex as the Fil-C runtime.
Sanitizers don't have to deal with:
- https://fil-c.org/fugc
- https://fil-c.org/safepoints
Oh and it's not clear if the current revision of the capability model would work with memory mapped IO: https://fil-c.org/invisicaps
The sanitizer runtime is not nearly as complex as the Fil-C runtime.
Sanitizers don't have to deal with:
- https://fil-c.org/fugc
- https://fil-c.org/safepoints
Oh and it's not clear if the current revision of the capability model would work with memory mapped IO: https://fil-c.org/invisicaps