CT_01_010 - Landing pad (LLVM)
About
Landing pad (Zicfilp) is an ISA extension for protecting control-flow integrity and is a sibling spec of shadow stack (Zicfiss).
RISC-V ARC (Architecture Review Committee) has approved the latest draft (v0.4.0) of Zicfilp spec. Now it requires SW implementations.
In addition to MediaTek that has demand for LLVM support, it looks that the community, including SiFive and Rivos, are also working on it.
RISE will be a great venue for collaboration.
Stakeholders/Partners
RISE:
MediaTek: Chibang Kuan
SiFive: Kito Cheng, Jesse Huang
External:
Dependencies
PSABI CFI spec
Status
Updates
- Moved to 2H2024
- Landing pad support for Spike has been merged: https://github.com/riscv-software-src/riscv-isa-sim/pull/1582
- Proxy kernel support for landing pad: https://github.com/riscv-software-src/riscv-pk/pull/311
- An LLVM PoC that supports simple label scheme: https://github.com/mylai-mtk/llvm-project/pull/1
- An LLVM WIP that supports complex label schcme: https://github.com/mylai-mtk/llvm-project/commits/zicfilp-func-sig-preview/
- Project reported as priority for 1H2024.