diff options
| author | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-12-18 10:37:42 +0000 |
|---|---|---|
| committer | Luke Cheeseman <luke.cheeseman@arm.com> | 2018-12-18 10:37:42 +0000 |
| commit | f57d7d82372c130538f70e2ae68dc4e072d73872 (patch) | |
| tree | 3e28c75f2e7d7de67df782f22e6108e4f15cab0b /llvm/lib/MC/MCDwarf.cpp | |
| parent | ba8e84b31c4297a8117f27cc42adec8e2493c7e6 (diff) | |
| download | bcm5719-llvm-f57d7d82372c130538f70e2ae68dc4e072d73872.tar.gz bcm5719-llvm-f57d7d82372c130538f70e2ae68dc4e072d73872.zip | |
[AArch64] - Return address signing dwarf support
- Reapply changes intially introduced in r343089
- The archtecture info is no longer loaded whenever a DWARFContext is created
- The runtimes libraries (santiziers) make use of the dwarf context classes but
do not intialise the target info
- The architecture of the object can be obtained without loading the target info
- Adding a method to the dwarf context to get this information and multiplex the
string printing later on
Differential Revision: https://reviews.llvm.org/D55774
llvm-svn: 349472
Diffstat (limited to 'llvm/lib/MC/MCDwarf.cpp')
| -rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index 66dfe7b7fa4..9791fb5724b 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/lib/MC/MCDwarf.cpp @@ -1332,6 +1332,10 @@ void FrameEmitterImpl::EmitCFIInstruction(const MCCFIInstruction &Instr) { Streamer.EmitIntValue(dwarf::DW_CFA_GNU_window_save, 1); return; + case MCCFIInstruction::OpNegateRAState: + Streamer.EmitIntValue(dwarf::DW_CFA_AARCH64_negate_ra_state, 1); + return; + case MCCFIInstruction::OpUndefined: { unsigned Reg = Instr.getRegister(); Streamer.EmitIntValue(dwarf::DW_CFA_undefined, 1); |

