llvm
e60dc90e - [Hexagon] Disable restore stubs when ShadowCallStack is active (#206302)

Commit
8 days ago
[Hexagon] Disable restore stubs when ShadowCallStack is active (#206302) The returning restore stubs (e.g. __restore_r16_through_r17_and_deallocframe) perform deallocframe+jumpr r31 internally, returning via the on-stack return address. This is incompatible with ShadowCallStack, which must restore r31 from the shadow stack before returning. Fix by having useRestoreFunction() return false when the ShadowCallStack attribute is present, forcing inline callee-saved restores so the SCS epilogue is properly emitted.
Author
Parents
Loading