[PATCH v2 0/2] firmware: Initial compiler built-in stack protector support

Alvin Chang alvinga at andestech.com
Tue Jun 24 20:16:11 PDT 2025


This series add initial compiler built-in stack protector support into OpenSBI
firmware. The __stack_chk_fail() and __stack_chk_guard variable are added into
firmware assembly files accordingly.

Introduce three Kconfig configurations to enable the stack protector:
1. CONFIG_STACK_PROTECTOR to enable the stack protector feature by
   providing "-fstack-protector" compiler flag
2. CONFIG_STACK_PROTECTOR_STRONG to provide "-fstack-protector-strong"
3. CONFIG_STACK_PROTECTOR_ALL to provide "-fstack-protector-all"

---
Changes from v1
- Fix boot hang when compiling with DEBUG=1 and -fstack-protector-all
- Move implementation to firmware

---
Alvin Chang (2):
  lib: sbi: Remove redundant call to sbi_hart_expected_trap_addr()
  firmware: Initial compiler built-in stack protector support

 firmware/Kconfig              | 27 +++++++++++++++++++++++++++
 firmware/fw_base.S            | 17 +++++++++++++++++
 firmware/objects.mk           |  9 +++++++++
 firmware/payloads/test_head.S | 17 +++++++++++++++++
 include/sbi/sbi_csr_detect.h  |  4 ++--
 include/sbi/sbi_hart.h        |  4 ----
 lib/sbi/sbi_illegal_atomic.c  |  4 ++--
 lib/sbi/sbi_unpriv.c          |  6 +++---
 8 files changed, 77 insertions(+), 11 deletions(-)

-- 
2.43.0




More information about the opensbi mailing list