[PATCH] D50136: [AArch64] - Return address signing dwarf support

Oliver Stannard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 17 05:52:15 PDT 2018


olista01 added a comment.

I think this needs additional tests to cover:

- The encoding of the CFI instruction in object files
- The assembly parser and printer changes, to make sure that IR->assembly->object will work the same as IR->object.



================
Comment at: lib/BinaryFormat/Dwarf.cpp:465
     return "DW_CFA_" #NAME;
+#define HANDLE_DW_CFA_DUP(ID, NAME)
 #include "llvm/BinaryFormat/Dwarf.def"
----------------
Does this get used by llvm-dwarfdump, or is it just for debugging? If it is used by anything user-facing, then we need to select the right one based on the target here.


================
Comment at: lib/MC/MCParser/AsmParser.cpp:494
     DK_CFI_WINDOW_SAVE,
+    DK_CFI_NEGATE_RA_STATE,
     DK_MACROS_ON,
----------------
I think this should be done in the AArch64 assembly parser, because it doesn't apply to any other architectures.


================
Comment at: lib/Target/AArch64/AArch64FrameLowering.cpp:896
+
+    unsigned CFIIndex =
+        MF.addFrameInst(MCCFIInstruction::createNegateRAState(nullptr));
----------------
This isn't covered by the test.


https://reviews.llvm.org/D50136





More information about the llvm-commits mailing list