[clang] [llvm] [RISCV] Implement shadow stack on shadow stack mode with Zicfiss. (PR #68075)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 14:19:05 PST 2024


topperc wrote:

How is unwinding handled? The software shadow stack documentation says this

> Special unwind information is required on functions that are compiled with ShadowCallStack and that may be unwound, i.e. functions compiled with -fexceptions (which is the default in C++). Some unwinders (such as the libgcc 4.9 unwinder) do not understand this unwind info and will segfault when encountering it. LLVM libunwind processes this unwind info correctly, however. This means that if exceptions are used together with ShadowCallStack, the program must use a compatible unwinder.

This patch skips the emission of the unwind info.

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


More information about the llvm-commits mailing list