forked from OSchip/llvm-project
				
			[llvm-dwarfdump] - Teach tool to parse DW_CFA_GNU_args_size.
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 llvm-svn: 315897
This commit is contained in:
		
							parent
							
								
									414151a47e
								
							
						
					
					
						commit
						68b285f69e
					
				| 
						 | 
				
			
			@ -163,6 +163,7 @@ void FrameEntry::parseInstructions(DataExtractor Data, uint32_t *Offset,
 | 
			
		|||
        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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
		Loading…
	
		Reference in New Issue