aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-pe/pdb-syms1a.s
blob: d076bbc776d400de23a9afe986f6fc28fb66e413 (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: