[PATCH] D50136: [AArch64] - Return address signing dwarf support
Luke Cheeseman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 6 02:59:28 PDT 2018
LukeCheeseman updated this revision to Diff 164175.
LukeCheeseman added a comment.
- Removed the emission of negate_ra_state when emitting an AUTIASP. This causes issues when there are multiple exits from a function as the unwinder reads all the CFI directives without understanding control flow and may end up with the incorrect value in the sign state register. This isn't an issue as we currently do not support breaking on function return/tail call.
- Moved cfi_negate_ra_sign_state directive parsing into the aarch64 backend
- I haven't yet addressed the issue of printing the wrong cfi directive name with llvm-dwarfdump, I have a patch which I'm not too happy with but will upload shortly
https://reviews.llvm.org/D50136
Files:
include/llvm/BinaryFormat/Dwarf.def
include/llvm/BinaryFormat/Dwarf.h
include/llvm/MC/MCDwarf.h
include/llvm/MC/MCStreamer.h
lib/BinaryFormat/Dwarf.cpp
lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
lib/CodeGen/CFIInstrInserter.cpp
lib/MC/MCAsmStreamer.cpp
lib/MC/MCDwarf.cpp
lib/MC/MCStreamer.cpp
lib/Target/AArch64/AArch64FrameLowering.cpp
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
test/CodeGen/AArch64/sign-return-address.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50136.164175.patch
Type: text/x-patch
Size: 11889 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180906/9454fb1a/attachment.bin>
More information about the llvm-commits
mailing list