I have been working with the latest release of gcc (GCC 12.1, released May 6, 2022).
There is a new command-line option : -fsanitize=shadow-call-stack
.
The documentation states:
GCC now supports the ShadowCallStack sanitizer, which can be enabled using the command-line option -fsanitize=shadow-call-stack. This sanitizer currently only works on AArch64 targets and it requires an environment in which all code has been compiled with -ffixed-r18. Its primary initial user is the Linux kernel.
I think it could be useful for one of the projects I am working on, but I would like to make sure I understand better the exact behaviour of this option. I found the documentation a little bit lacking. Can anyone explain its behaviour?