• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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