Currently llvm-dwarfdump runs into llvm_unreachable when
faces DW_CFA_GNU_args_size. Patch implements the support.
Differential revision: https://reviews.llvm.org/D38879
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315897
91177308-0d34-0410-b5e6-
96231b3b80d8
case DW_CFA_same_value:
case DW_CFA_def_cfa_register:
case DW_CFA_def_cfa_offset:
+ case DW_CFA_GNU_args_size:
// Operands: ULEB128
addInstruction(Opcode, Data.getULEB128(Offset));
break;
--- /dev/null
+# RUN: llvm-mc %s -filetype=obj -triple=i686-pc-linux -o %t
+# RUN: llvm-dwarfdump -v %t | FileCheck %s
+
+# CHECK: .eh_frame contents:
+# CHECK: 00000018 00000010 0000001c FDE cie=0000001c pc=00000000...00000000
+# CHECK-NEXT: DW_CFA_GNU_args_size: +16
+# CHECK-NEXT: DW_CFA_nop:
+
+.text
+.globl foo
+.type foo,@function
+foo:
+ .cfi_startproc
+ .cfi_escape 0x2e, 0x10
+ .cfi_endproc