Index: llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp =================================================================== --- llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp +++ llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp @@ -163,6 +163,7 @@ 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; Index: llvm/trunk/test/tools/llvm-dwarfdump/X86/debug_frame_GNU_args_size.s =================================================================== --- llvm/trunk/test/tools/llvm-dwarfdump/X86/debug_frame_GNU_args_size.s +++ llvm/trunk/test/tools/llvm-dwarfdump/X86/debug_frame_GNU_args_size.s @@ -0,0 +1,15 @@ +# 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