[llvm] [clang] [RISCV] Add Zicfiss support to the shadow call stack implementation. (PR #68075)

Paul Kirth via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 16 13:48:50 PST 2024


================
@@ -151,9 +157,12 @@ Usage
 
 To enable ShadowCallStack, just pass the ``-fsanitize=shadow-call-stack`` flag
 to both compile and link command lines. On aarch64, you also need to pass
-``-ffixed-x18`` unless your target already reserves ``x18``. On RISC-V, ``x3``
-(``gp``) is always reserved. It is, however, important to disable GP relaxation
-in the linker. This can be done with the ``--no-relax-gp`` flag in GNU ld.
+``-ffixed-x18`` unless your target already reserves ``x18``. No additional flags
+need to be passed on RISC-V because the software based shadow stack uses ``x3`` (``gp``),
+which is always reserved, and the hardware based shadow call stack uses a dedicated register, ``ssp``.
----------------
ilovepi wrote:

Nit: this line is long. Maybe reformat the sentence/paragraph?

https://github.com/llvm/llvm-project/pull/68075


More information about the cfe-commits mailing list