summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-pe/pdb-syms1a.s
blob: c1929c3ec858be3b77334a386f7d1d071c3d881c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
.equ CV_SIGNATURE_C13, 4
.equ DEBUG_S_SYMBOLS, 0xf1

.equ T_UINT4, 0x0075

.equ LF_MODIFIER, 0x1001
.equ LF_PROCEDURE, 0x1008
.equ LF_ARGLIST, 0x1201
.equ LF_FIELDLIST, 0x1203
.equ LF_STRUCTURE, 0x1505
.equ LF_MEMBER, 0x150d

.equ S_END, 0x0006
.equ S_UDT, 0x1108
.equ S_GPROC32, 0x1110

.section ".debug$S", "rn"

.long CV_SIGNATURE_C13

.long DEBUG_S_SYMBOLS
.long .syms_end - .syms_start

.syms_start:

.gproc2:
.short .gproc2_end - .gproc2 - 2
.short S_GPROC32
.long 0 # parent
.long 0 # end
.long 0 # next symbol
.long 1 # length
.long 0 # debug start offset
.long 0 # debug end offset
.long 0x1002 # type
.secrel32 proc2
.secidx proc2
.byte 0 # flags
.asciz "proc2"
.byte 0xf3 # padding
.byte 0xf2 # padding
.byte 0xf1 # padding

.gproc2_end:
.short .udt1 - .gproc2_end - 2
.short S_END

.udt1:
.short .syms_end - .udt1 - 2
.short S_UDT
.long 0x1004 # struct bar
.asciz "bar"

.syms_end:

.section ".debug$T", "rn"

.long CV_SIGNATURE_C13

# Type 1000, const uint32_t
.mod1:
.short .arglist1 - .mod1 - 2
.short LF_MODIFIER
.long T_UINT4
.short 1 # const
.p2align 2

# Type 1001, arglist (uint32_t)
.arglist1:
.short .proctype1 - .arglist1 - 2
.short LF_ARGLIST
.long 1 # no. entries
.long T_UINT4

# Type 1002, procedure (return type T_VOID, arglist 1001)
.proctype1:
.short .fieldlist1 - .proctype1 - 2
.short LF_PROCEDURE
.long T_VOID
.byte 0 # calling convention
.byte 0 # attributes
.short 1 # no. parameters
.long 0x1001

# Type 1003, field list for struct bar
.fieldlist1:
.short .struct1 - .fieldlist1 - 2
.short LF_FIELDLIST
.short LF_MEMBER
.short 3 # public
.long T_UINT4
.short 0 # offset
.asciz "num1"
.byte 0xf1 # padding

# Type 1004, declaration of struct bar
.struct1:
.short .types_end - .struct1 - 2
.short LF_STRUCTURE
.short 1 # no. members
.short 0 # property
.long 0x1003 # field list
.long 0 # type derived from
.long 0 # type of vshape table
.short 4 # size
.asciz "bar" # name
.byte 0xf2 # padding
.byte 0xf1 # padding

.types_end: