xref: /llvm-project/llvm/test/tools/llvm-readobj/MachO/stabs-sorted.yaml (revision 1ae449f9a33b9c8cc3bbf38013b24bd4e9e5bb27)
1*1ae449f9SVy Nguyen## Verify that llvm-readobj can dump files with stabs symbols in a sorted order.
2*1ae449f9SVy Nguyen
3*1ae449f9SVy Nguyen# RUN: yaml2obj --docnum=1 %s -o %t
4*1ae449f9SVy Nguyen
5*1ae449f9SVy Nguyen# RUN: not llvm-readobj --syms --sort-symbols=foo %t 2>&1 | FileCheck %s --check-prefix ERR-KEY
6*1ae449f9SVy Nguyen# RUN: not llvm-readobj --syms --sort-symbols=,, %t 2>&1 | FileCheck %s --check-prefix ERR-KEY-EMPT
7*1ae449f9SVy Nguyen
8*1ae449f9SVy Nguyen# RUN: llvm-readobj --syms --sort-symbols=type,name %t | FileCheck %s --check-prefix TYPE-NAME
9*1ae449f9SVy Nguyen# RUN: llvm-readobj --syms --sort-symbols=name,type %t | FileCheck %s --check-prefix NAME-TYPE
10*1ae449f9SVy Nguyen# RUN: llvm-readobj --syms --sort-symbols=type %t | FileCheck %s --check-prefix TYPE-ONLY
11*1ae449f9SVy Nguyen
12*1ae449f9SVy Nguyen# ERR-KEY: error: --sort-symbols value should be 'name' or 'type', but was 'foo'
13*1ae449f9SVy Nguyen# ERR-KEY-EMPT: error: --sort-symbols value should be 'name' or 'type', but was ''
14*1ae449f9SVy Nguyen
15*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _a (19)
16*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: Section (0xE)
17*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _d (10)
18*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: Section (0xE)
19*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _f (7)
20*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: SymDebugTable (0x2E)
21*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _z (1)
22*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: SymDebugTable (0x2E)
23*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _c (13)
24*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: SymDebugTable (0x64)
25*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _g (4)
26*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: SymDebugTable (0x64)
27*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _b (16)
28*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: SymDebugTable (0x66)
29*1ae449f9SVy Nguyen# TYPE-NAME:      Name: _d2 (22)
30*1ae449f9SVy Nguyen# TYPE-NAME-NEXT: Type: SymDebugTable (0x66)
31*1ae449f9SVy Nguyen
32*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _a (19)
33*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: Section (0xE)
34*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _b (16)
35*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: SymDebugTable (0x66)
36*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _c (13)
37*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: SymDebugTable (0x64)
38*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _d (10)
39*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: Section (0xE)
40*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _d2 (22)
41*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: SymDebugTable (0x66)
42*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _f (7)
43*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: SymDebugTable (0x2E)
44*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _g (4)
45*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: SymDebugTable (0x64)
46*1ae449f9SVy Nguyen# NAME-TYPE:         Name: _z (1)
47*1ae449f9SVy Nguyen# NAME-TYPE-NEXT:    Type: SymDebugTable (0x2E)
48*1ae449f9SVy Nguyen
49*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _d (10)
50*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: Section (0xE)
51*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _a (19)
52*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: Section (0xE)
53*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _f (7)
54*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: SymDebugTable (0x2E)
55*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _z (1)
56*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: SymDebugTable (0x2E)
57*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _g (4)
58*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: SymDebugTable (0x64)
59*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _c (13)
60*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: SymDebugTable (0x64)
61*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _d2 (22)
62*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: SymDebugTable (0x66)
63*1ae449f9SVy Nguyen# TYPE-ONLY:        Name: _b (16)
64*1ae449f9SVy Nguyen# TYPE-ONLY-NEXT:   Type: SymDebugTable (0x66)
65*1ae449f9SVy Nguyen
66*1ae449f9SVy Nguyen--- !mach-o
67*1ae449f9SVy NguyenFileHeader:
68*1ae449f9SVy Nguyen  magic:           0xFEEDFACF
69*1ae449f9SVy Nguyen  cputype:         0x1000007
70*1ae449f9SVy Nguyen  cpusubtype:      0x3
71*1ae449f9SVy Nguyen  filetype:        0x1
72*1ae449f9SVy Nguyen  ncmds:           3
73*1ae449f9SVy Nguyen  sizeofcmds:      496
74*1ae449f9SVy Nguyen  flags:           0x2000
75*1ae449f9SVy Nguyen  reserved:        0x0
76*1ae449f9SVy NguyenLoadCommands:
77*1ae449f9SVy Nguyen  - cmd:             LC_SEGMENT_64
78*1ae449f9SVy Nguyen    cmdsize:         392
79*1ae449f9SVy Nguyen    segname:         ''
80*1ae449f9SVy Nguyen    vmaddr:          0
81*1ae449f9SVy Nguyen    vmsize:          32
82*1ae449f9SVy Nguyen    fileoff:         528
83*1ae449f9SVy Nguyen    filesize:        28
84*1ae449f9SVy Nguyen    maxprot:         7
85*1ae449f9SVy Nguyen    initprot:        7
86*1ae449f9SVy Nguyen    nsects:          4
87*1ae449f9SVy Nguyen    flags:           0
88*1ae449f9SVy Nguyen    Sections:
89*1ae449f9SVy Nguyen      - sectname:        __text
90*1ae449f9SVy Nguyen        segname:         __TEXT
91*1ae449f9SVy Nguyen        addr:            0x0
92*1ae449f9SVy Nguyen        size:            9
93*1ae449f9SVy Nguyen        offset:          0x210
94*1ae449f9SVy Nguyen        align:           0
95*1ae449f9SVy Nguyen        reloff:          0x230
96*1ae449f9SVy Nguyen        nreloc:          1
97*1ae449f9SVy Nguyen        flags:           0x80000000
98*1ae449f9SVy Nguyen        reserved1:       0x0
99*1ae449f9SVy Nguyen        reserved2:       0x0
100*1ae449f9SVy Nguyen        reserved3:       0x0
101*1ae449f9SVy Nguyen        content:         '000000000000000000'
102*1ae449f9SVy Nguyen        relocations:
103*1ae449f9SVy Nguyen          - address:         0x0
104*1ae449f9SVy Nguyen            symbolnum:       7
105*1ae449f9SVy Nguyen            pcrel:           false
106*1ae449f9SVy Nguyen            length:          3
107*1ae449f9SVy Nguyen            extern:          true
108*1ae449f9SVy Nguyen            type:            0
109*1ae449f9SVy Nguyen            scattered:       false
110*1ae449f9SVy Nguyen            value:           0
111*1ae449f9SVy Nguyen      - sectname:        more_data
112*1ae449f9SVy Nguyen        segname:         __DATA
113*1ae449f9SVy Nguyen        addr:            0x9
114*1ae449f9SVy Nguyen        size:            8
115*1ae449f9SVy Nguyen        offset:          0x219
116*1ae449f9SVy Nguyen        align:           0
117*1ae449f9SVy Nguyen        reloff:          0x0
118*1ae449f9SVy Nguyen        nreloc:          0
119*1ae449f9SVy Nguyen        flags:           0x0
120*1ae449f9SVy Nguyen        reserved1:       0x0
121*1ae449f9SVy Nguyen        reserved2:       0x0
122*1ae449f9SVy Nguyen        reserved3:       0x0
123*1ae449f9SVy Nguyen        content:         7B00000000000000
124*1ae449f9SVy Nguyen      - sectname:        __data
125*1ae449f9SVy Nguyen        segname:         __DATA
126*1ae449f9SVy Nguyen        addr:            0x11
127*1ae449f9SVy Nguyen        size:            11
128*1ae449f9SVy Nguyen        offset:          0x221
129*1ae449f9SVy Nguyen        align:           0
130*1ae449f9SVy Nguyen        reloff:          0x0
131*1ae449f9SVy Nguyen        nreloc:          0
132*1ae449f9SVy Nguyen        flags:           0x0
133*1ae449f9SVy Nguyen        reserved1:       0x0
134*1ae449f9SVy Nguyen        reserved2:       0x0
135*1ae449f9SVy Nguyen        reserved3:       0x0
136*1ae449f9SVy Nguyen        content:         7B00000000000000000000
137*1ae449f9SVy Nguyen      - sectname:        __common
138*1ae449f9SVy Nguyen        segname:         __DATA
139*1ae449f9SVy Nguyen        addr:            0x1C
140*1ae449f9SVy Nguyen        size:            4
141*1ae449f9SVy Nguyen        offset:          0x0
142*1ae449f9SVy Nguyen        align:           2
143*1ae449f9SVy Nguyen        reloff:          0x0
144*1ae449f9SVy Nguyen        nreloc:          0
145*1ae449f9SVy Nguyen        flags:           0x1
146*1ae449f9SVy Nguyen        reserved1:       0x0
147*1ae449f9SVy Nguyen        reserved2:       0x0
148*1ae449f9SVy Nguyen        reserved3:       0x0
149*1ae449f9SVy Nguyen  - cmd:             LC_SYMTAB
150*1ae449f9SVy Nguyen    cmdsize:         24
151*1ae449f9SVy Nguyen    symoff:          568
152*1ae449f9SVy Nguyen    nsyms:           8
153*1ae449f9SVy Nguyen    stroff:          696
154*1ae449f9SVy Nguyen    strsize:         32
155*1ae449f9SVy Nguyen  - cmd:             LC_DYSYMTAB
156*1ae449f9SVy Nguyen    cmdsize:         80
157*1ae449f9SVy Nguyen    ilocalsym:       0
158*1ae449f9SVy Nguyen    nlocalsym:       7
159*1ae449f9SVy Nguyen    iextdefsym:      7
160*1ae449f9SVy Nguyen    nextdefsym:      0
161*1ae449f9SVy Nguyen    iundefsym:       7
162*1ae449f9SVy Nguyen    nundefsym:       1
163*1ae449f9SVy Nguyen    tocoff:          0
164*1ae449f9SVy Nguyen    ntoc:            0
165*1ae449f9SVy Nguyen    modtaboff:       0
166*1ae449f9SVy Nguyen    nmodtab:         0
167*1ae449f9SVy Nguyen    extrefsymoff:    0
168*1ae449f9SVy Nguyen    nextrefsyms:     0
169*1ae449f9SVy Nguyen    indirectsymoff:  0
170*1ae449f9SVy Nguyen    nindirectsyms:   0
171*1ae449f9SVy Nguyen    extreloff:       0
172*1ae449f9SVy Nguyen    nextrel:         0
173*1ae449f9SVy Nguyen    locreloff:       0
174*1ae449f9SVy Nguyen    nlocrel:         0
175*1ae449f9SVy NguyenLinkEditData:
176*1ae449f9SVy Nguyen  NameList:
177*1ae449f9SVy Nguyen    - n_strx:          4
178*1ae449f9SVy Nguyen      n_type:          0x64
179*1ae449f9SVy Nguyen      n_sect:          1
180*1ae449f9SVy Nguyen      n_desc:          0
181*1ae449f9SVy Nguyen      n_value:         0
182*1ae449f9SVy Nguyen    - n_strx:          10
183*1ae449f9SVy Nguyen      n_type:          0xE
184*1ae449f9SVy Nguyen      n_sect:          1
185*1ae449f9SVy Nguyen      n_desc:          0
186*1ae449f9SVy Nguyen      n_value:         8
187*1ae449f9SVy Nguyen    - n_strx:          22
188*1ae449f9SVy Nguyen      n_type:          0x66
189*1ae449f9SVy Nguyen      n_sect:          1
190*1ae449f9SVy Nguyen      n_desc:          0
191*1ae449f9SVy Nguyen      n_value:         8
192*1ae449f9SVy Nguyen    - n_strx:          16
193*1ae449f9SVy Nguyen      n_type:          0x66
194*1ae449f9SVy Nguyen      n_sect:          2
195*1ae449f9SVy Nguyen      n_desc:          0
196*1ae449f9SVy Nguyen      n_value:         9
197*1ae449f9SVy Nguyen    - n_strx:          19
198*1ae449f9SVy Nguyen      n_type:          0xE
199*1ae449f9SVy Nguyen      n_sect:          3
200*1ae449f9SVy Nguyen      n_desc:          0
201*1ae449f9SVy Nguyen      n_value:         17
202*1ae449f9SVy Nguyen    - n_strx:          13
203*1ae449f9SVy Nguyen      n_type:          0x64
204*1ae449f9SVy Nguyen      n_sect:          4
205*1ae449f9SVy Nguyen      n_desc:          0
206*1ae449f9SVy Nguyen      n_value:         28
207*1ae449f9SVy Nguyen    - n_strx:          7
208*1ae449f9SVy Nguyen      n_type:          0x2E
209*1ae449f9SVy Nguyen      n_sect:          3
210*1ae449f9SVy Nguyen      n_desc:          0
211*1ae449f9SVy Nguyen      n_value:         25
212*1ae449f9SVy Nguyen    - n_strx:          1
213*1ae449f9SVy Nguyen      n_type:          0x2E
214*1ae449f9SVy Nguyen      n_sect:          0
215*1ae449f9SVy Nguyen      n_desc:          0
216*1ae449f9SVy Nguyen      n_value:         0
217*1ae449f9SVy Nguyen  StringTable:
218*1ae449f9SVy Nguyen    - ''
219*1ae449f9SVy Nguyen    - _z
220*1ae449f9SVy Nguyen    - _g
221*1ae449f9SVy Nguyen    - _f
222*1ae449f9SVy Nguyen    - _d
223*1ae449f9SVy Nguyen    - _c
224*1ae449f9SVy Nguyen    - _b
225*1ae449f9SVy Nguyen    - _a
226*1ae449f9SVy Nguyen    - _d2
227*1ae449f9SVy Nguyen    - ''
228*1ae449f9SVy Nguyen    - ''
229*1ae449f9SVy Nguyen    - ''
230*1ae449f9SVy Nguyen    - ''
231*1ae449f9SVy Nguyen    - ''
232*1ae449f9SVy Nguyen    - ''
233*1ae449f9SVy Nguyen...
234