## Verify that llvm-readobj can dump files with stabs symbols in a sorted order. # RUN: yaml2obj --docnum=1 %s -o %t # RUN: not llvm-readobj --syms --sort-symbols=foo %t 2>&1 | FileCheck %s --check-prefix ERR-KEY # RUN: not llvm-readobj --syms --sort-symbols=,, %t 2>&1 | FileCheck %s --check-prefix ERR-KEY-EMPT # RUN: llvm-readobj --syms --sort-symbols=type,name %t | FileCheck %s --check-prefix TYPE-NAME # RUN: llvm-readobj --syms --sort-symbols=name,type %t | FileCheck %s --check-prefix NAME-TYPE # RUN: llvm-readobj --syms --sort-symbols=type %t | FileCheck %s --check-prefix TYPE-ONLY # ERR-KEY: error: --sort-symbols value should be 'name' or 'type', but was 'foo' # ERR-KEY-EMPT: error: --sort-symbols value should be 'name' or 'type', but was '' # TYPE-NAME: Name: _a (19) # TYPE-NAME-NEXT: Type: Section (0xE) # TYPE-NAME: Name: _d (10) # TYPE-NAME-NEXT: Type: Section (0xE) # TYPE-NAME: Name: _f (7) # TYPE-NAME-NEXT: Type: SymDebugTable (0x2E) # TYPE-NAME: Name: _z (1) # TYPE-NAME-NEXT: Type: SymDebugTable (0x2E) # TYPE-NAME: Name: _c (13) # TYPE-NAME-NEXT: Type: SymDebugTable (0x64) # TYPE-NAME: Name: _g (4) # TYPE-NAME-NEXT: Type: SymDebugTable (0x64) # TYPE-NAME: Name: _b (16) # TYPE-NAME-NEXT: Type: SymDebugTable (0x66) # TYPE-NAME: Name: _d2 (22) # TYPE-NAME-NEXT: Type: SymDebugTable (0x66) # NAME-TYPE: Name: _a (19) # NAME-TYPE-NEXT: Type: Section (0xE) # NAME-TYPE: Name: _b (16) # NAME-TYPE-NEXT: Type: SymDebugTable (0x66) # NAME-TYPE: Name: _c (13) # NAME-TYPE-NEXT: Type: SymDebugTable (0x64) # NAME-TYPE: Name: _d (10) # NAME-TYPE-NEXT: Type: Section (0xE) # NAME-TYPE: Name: _d2 (22) # NAME-TYPE-NEXT: Type: SymDebugTable (0x66) # NAME-TYPE: Name: _f (7) # NAME-TYPE-NEXT: Type: SymDebugTable (0x2E) # NAME-TYPE: Name: _g (4) # NAME-TYPE-NEXT: Type: SymDebugTable (0x64) # NAME-TYPE: Name: _z (1) # NAME-TYPE-NEXT: Type: SymDebugTable (0x2E) # TYPE-ONLY: Name: _d (10) # TYPE-ONLY-NEXT: Type: Section (0xE) # TYPE-ONLY: Name: _a (19) # TYPE-ONLY-NEXT: Type: Section (0xE) # TYPE-ONLY: Name: _f (7) # TYPE-ONLY-NEXT: Type: SymDebugTable (0x2E) # TYPE-ONLY: Name: _z (1) # TYPE-ONLY-NEXT: Type: SymDebugTable (0x2E) # TYPE-ONLY: Name: _g (4) # TYPE-ONLY-NEXT: Type: SymDebugTable (0x64) # TYPE-ONLY: Name: _c (13) # TYPE-ONLY-NEXT: Type: SymDebugTable (0x64) # TYPE-ONLY: Name: _d2 (22) # TYPE-ONLY-NEXT: Type: SymDebugTable (0x66) # TYPE-ONLY: Name: _b (16) # TYPE-ONLY-NEXT: Type: SymDebugTable (0x66) --- !mach-o FileHeader: magic: 0xFEEDFACF cputype: 0x1000007 cpusubtype: 0x3 filetype: 0x1 ncmds: 3 sizeofcmds: 496 flags: 0x2000 reserved: 0x0 LoadCommands: - cmd: LC_SEGMENT_64 cmdsize: 392 segname: '' vmaddr: 0 vmsize: 32 fileoff: 528 filesize: 28 maxprot: 7 initprot: 7 nsects: 4 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x0 size: 9 offset: 0x210 align: 0 reloff: 0x230 nreloc: 1 flags: 0x80000000 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: '000000000000000000' relocations: - address: 0x0 symbolnum: 7 pcrel: false length: 3 extern: true type: 0 scattered: false value: 0 - sectname: more_data segname: __DATA addr: 0x9 size: 8 offset: 0x219 align: 0 reloff: 0x0 nreloc: 0 flags: 0x0 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 7B00000000000000 - sectname: __data segname: __DATA addr: 0x11 size: 11 offset: 0x221 align: 0 reloff: 0x0 nreloc: 0 flags: 0x0 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 content: 7B00000000000000000000 - sectname: __common segname: __DATA addr: 0x1C size: 4 offset: 0x0 align: 2 reloff: 0x0 nreloc: 0 flags: 0x1 reserved1: 0x0 reserved2: 0x0 reserved3: 0x0 - cmd: LC_SYMTAB cmdsize: 24 symoff: 568 nsyms: 8 stroff: 696 strsize: 32 - cmd: LC_DYSYMTAB cmdsize: 80 ilocalsym: 0 nlocalsym: 7 iextdefsym: 7 nextdefsym: 0 iundefsym: 7 nundefsym: 1 tocoff: 0 ntoc: 0 modtaboff: 0 nmodtab: 0 extrefsymoff: 0 nextrefsyms: 0 indirectsymoff: 0 nindirectsyms: 0 extreloff: 0 nextrel: 0 locreloff: 0 nlocrel: 0 LinkEditData: NameList: - n_strx: 4 n_type: 0x64 n_sect: 1 n_desc: 0 n_value: 0 - n_strx: 10 n_type: 0xE n_sect: 1 n_desc: 0 n_value: 8 - n_strx: 22 n_type: 0x66 n_sect: 1 n_desc: 0 n_value: 8 - n_strx: 16 n_type: 0x66 n_sect: 2 n_desc: 0 n_value: 9 - n_strx: 19 n_type: 0xE n_sect: 3 n_desc: 0 n_value: 17 - n_strx: 13 n_type: 0x64 n_sect: 4 n_desc: 0 n_value: 28 - n_strx: 7 n_type: 0x2E n_sect: 3 n_desc: 0 n_value: 25 - n_strx: 1 n_type: 0x2E n_sect: 0 n_desc: 0 n_value: 0 StringTable: - '' - _z - _g - _f - _d - _c - _b - _a - _d2 - '' - '' - '' - '' - '' - '' ...