diff options
author | Anatoly Trosinenko <atrosinenko@accesssoftek.com> | 2025-07-12 13:45:48 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-12 13:45:48 +0300 |
commit | b71756852f5a41b35a74918374a11ae00365ee04 (patch) | |
tree | 533091ce7c320bac6f0a501ea43810d7886193f2 /clang/lib/Basic/SourceManager.cpp | |
parent | 007fc77cfc3c4ac629682ec9d81b212c683e97bc (diff) | |
download | llvm-b71756852f5a41b35a74918374a11ae00365ee04.zip llvm-b71756852f5a41b35a74918374a11ae00365ee04.tar.gz llvm-b71756852f5a41b35a74918374a11ae00365ee04.tar.bz2 |
[AArch64] Fix the emission of WinCFI for pac-ret+leaf and SCS (#147518)
This commit fixes WinCFI opcodes being incorrectly emitted for test
cases in sign-return-address.ll.
Emit SEH_Nop opcode in emitShadowCallStackEpilogue the same way it is
done in emitShadowCallStackPrologue function - this fixes
12 bytes of instructions in range, but .seh directives corresponding to 8 bytes
error being reported for the epilogue of non_leaf_scs function.
Emit SEH_PrologEnd on the code path in emitPrologue function that may be
taken when pac-ret protection is emitted for a leaf function - this
fixes errors like the following:
starting epilogue (.seh_startepilogue) before prologue has ended (.seh_endprologue) in leaf_sign_all_v83
Stray .seh_endepilogue in leaf_sign_all_v83
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions