1# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview -codeview-subsection-bytes | FileCheck %s 2 .text 3 .def @feat.00; 4 .scl 3; 5 .type 0; 6 .endef 7 .globl @feat.00 8@feat.00 = 1 9 .def _g; 10 .scl 2; 11 .type 32; 12 .endef 13 .globl _g 14 .p2align 4, 0x90 15_g: # @g 16Lfunc_begin0: 17 .cv_file 1 "\\usr\\local\\google\\home\\majnemer\\llvm\\src\\<stdin>" 18 .cv_func_id 0 19 .cv_loc 0 1 3 0 is_stmt 0 # <stdin>:3:0 20# %bb.0: # %entry 21 pushl %ebp 22 movl %esp, %ebp 23 subl $8, %esp 24 leal -4(%ebp), %eax 25Lvar_begin0: 26 #DEBUG_VALUE: g:x <- %eax 27 .cv_loc 0 1 4 7 # <stdin>:4:7 28 movl $0, -4(%ebp) 29 .cv_loc 0 1 5 3 # <stdin>:5:3 30 movl %eax, (%esp) 31 calll _f 32 .cv_loc 0 1 6 1 # <stdin>:6:1 33Lvar_end0: 34 addl $8, %esp 35 popl %ebp 36 retl 37Lfunc_end0: 38 39 .section .debug$T,"dr" 40 .long 4 # Debug section magic 41 .short 6 # Type record length 42 .short 4609 # Leaf type: LF_ARGLIST 43 .long 0 # Number of arguments 44 .short 14 # Type record length 45 .short 4104 # Leaf type: LF_PROCEDURE 46 .long 3 # Return type index 47 .byte 0 # Calling convention 48 .byte 0 # Function options 49 .short 0 # # of parameters 50 .long 4096 # Argument list type index 51 .short 12 # Type record length 52 .short 5633 # Leaf type: LF_FUNC_ID 53 .long 0 # Scope type index 54 .long 4097 # Function type 55 .asciz "g" # Function name 56 .section .debug$S,"dr" 57 .long 4 # Debug section magic 58 .long 241 # Symbol subsection for g 59 .long Ltmp1-Ltmp0 # Subsection size 60Ltmp0: 61 .short Ltmp3-Ltmp2 # Record length 62Ltmp2: 63 .short 4423 # Record kind: S_GPROC32_ID 64 .long 0 # PtrParent 65 .long 0 # PtrEnd 66 .long 0 # PtrNext 67 .long Lfunc_end0-_g # Code size 68 .long 0 # Offset after prologue 69 .long 0 # Offset before epilogue 70 .long 0 # Function type index 71 .secrel32 _g # Function section relative address 72 .secidx _g # Function section index 73 .byte 0 # Flags 74 .asciz "g" # Function name 75Ltmp3: 76 .short 2 # Record length 77 .short 4431 # Record kind: S_PROC_ID_END 78 .cv_def_range Lvar_begin0 Lvar_end0, "\102\021\374\377\377\377" 79 80# CHECK: DefRangeFramePointerRelSym { 81# CHECK: Offset: -4 82# CHECK: LocalVariableAddrRange { 83# CHECK: OffsetStart: .text+0x9 84# CHECK: ISectStart: 0x0 85# CHECK: Range: 0xF 86# CHECK: } 87# CHECK: BlockRelocations [ 88# CHECK: 0x4 IMAGE_REL_I386_SECREL .text 89# CHECK: 0x8 IMAGE_REL_I386_SECTION .text 90# CHECK: ] 91# CHECK: } 92 93Ltmp1: 94 .p2align 2 95 .cv_linetable 0, _g, Lfunc_end0 96 .cv_filechecksums # File index to string table offset subsection 97 .cv_stringtable # String table 98 99