]>
git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Fix .cfi_offset directive when push/pop in zcmp
The incorrect cfi directive info breaks stack unwind in try/catch/cxa.
Before patch:
cm.push {ra, s0-s2}, -16
.cfi_offset 1, -12
.cfi_offset 8, -8
.cfi_offset 18, -4
After patch:
cm.push {ra, s0-s2}, -16
.cfi_offset 1, -16
.cfi_offset 8, -12
.cfi_offset 9, -8
.cfi_offset 18, -4
gcc/ChangeLog:
* config/riscv/riscv.cc: Set multi push regs bits.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/zcmp_push_gpr.c: New test.