[0] https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.h...
It is developed by google[0] afaik. The link says it is present in LLVM and gcc. I don't know what makes the difference (may be License?). On the contrary I have felt gcc better for my work. I have been following a clang bug[1] for long and have seen no fix so far.
[0] https://github.com/google/sanitizers/wiki/AddressSanitizer
Address sanitizer was "ported" to the kernel a while ago; not sure if UBSAN is or will be in the future.
Dynamic alloca overflow detection
Symbol size changing for global variables
Adaptive global redzone sizes
Invalid pointer pairs detection
Support for no_sanitize attribute
Support for dead stripping of globals on Linux
I might be out of date on some or even all, so please correct me where I'm wrong. Thank you in advance.