1*6bf20aa5Szhijian## Test llvm-nm for XCOFF object files. 2*6bf20aa5Szhijian 3*6bf20aa5Szhijian# RUN: yaml2obj %s -o %t.o 4*6bf20aa5Szhijian# RUN: llvm-nm %t.o | FileCheck --match-full-lines %s 5*6bf20aa5Szhijian 6*6bf20aa5Szhijian--- !XCOFF 7*6bf20aa5SzhijianFileHeader: 8*6bf20aa5Szhijian MagicNumber: 0x1DF 9*6bf20aa5SzhijianSections: 10*6bf20aa5Szhijian - Name: .text 11*6bf20aa5Szhijian Address: 0x0 12*6bf20aa5Szhijian Flags: [ STYP_TEXT ] 13*6bf20aa5Szhijian - Name: .data 14*6bf20aa5Szhijian Flags: [ STYP_DATA ] 15*6bf20aa5Szhijian - Name: .bss 16*6bf20aa5Szhijian Flags: [ STYP_BSS ] 17*6bf20aa5Szhijian - Name: .debug 18*6bf20aa5Szhijian Flags: [ STYP_DEBUG ] 19*6bf20aa5Szhijian - Name: .except 20*6bf20aa5Szhijian Flags: [ STYP_EXCEPT ] 21*6bf20aa5SzhijianSymbols: 22*6bf20aa5Szhijian - Name: .file 23*6bf20aa5Szhijian Section: N_DEBUG 24*6bf20aa5Szhijian StorageClass: C_FILE 25*6bf20aa5Szhijian - Name: .text 26*6bf20aa5Szhijian Value: 0x10 27*6bf20aa5Szhijian Section: .text 28*6bf20aa5Szhijian StorageClass: C_STAT 29*6bf20aa5Szhijian NumberOfAuxEntries: 1 30*6bf20aa5Szhijian - Name: .data 31*6bf20aa5Szhijian Value: 0x80 32*6bf20aa5Szhijian Section: .data 33*6bf20aa5Szhijian StorageClass: C_STAT 34*6bf20aa5Szhijian NumberOfAuxEntries: 1 35*6bf20aa5Szhijian - Name: .bss 36*6bf20aa5Szhijian Value: 0x310 37*6bf20aa5Szhijian Section: .bss 38*6bf20aa5Szhijian StorageClass: C_STAT 39*6bf20aa5Szhijian - Name: .debug 40*6bf20aa5Szhijian Section: .debug 41*6bf20aa5Szhijian StorageClass: C_STAT 42*6bf20aa5Szhijian - Name: ._ZL5func0v 43*6bf20aa5Szhijian Section: .text 44*6bf20aa5Szhijian StorageClass: C_EXT 45*6bf20aa5Szhijian Type: 0x20 46*6bf20aa5Szhijian AuxEntries: 47*6bf20aa5Szhijian - Type: AUX_CSECT 48*6bf20aa5Szhijian SymbolAlignmentAndType: 0x02 49*6bf20aa5Szhijian StorageMappingClass: XMC_PR 50*6bf20aa5Szhijian - Name: ._Z3fwpv 51*6bf20aa5Szhijian Section: .text 52*6bf20aa5Szhijian StorageClass: C_WEAKEXT 53*6bf20aa5Szhijian Type: 0x20 54*6bf20aa5Szhijian AuxEntries: 55*6bf20aa5Szhijian - Type: AUX_CSECT 56*6bf20aa5Szhijian SymbolAlignmentAndType: 0x02 57*6bf20aa5Szhijian StorageMappingClass: XMC_PR 58*6bf20aa5Szhijian - Name: val 59*6bf20aa5Szhijian Section: .data 60*6bf20aa5Szhijian StorageClass: C_EXT 61*6bf20aa5Szhijian Type: 0x20 62*6bf20aa5Szhijian AuxEntries: 63*6bf20aa5Szhijian - Type: AUX_CSECT 64*6bf20aa5Szhijian SymbolAlignmentAndType: 0x01 65*6bf20aa5Szhijian StorageMappingClass: XMC_RW 66*6bf20aa5Szhijian SectionOrLength: 0x4 67*6bf20aa5Szhijian - Name: extval 68*6bf20aa5Szhijian Section: N_UNDEF 69*6bf20aa5Szhijian StorageClass: C_EXT 70*6bf20aa5Szhijian Type: 0x00 71*6bf20aa5Szhijian AuxEntries: 72*6bf20aa5Szhijian - Type: AUX_CSECT 73*6bf20aa5Szhijian SymbolAlignmentAndType: 0x01 74*6bf20aa5Szhijian StorageMappingClass: XMC_UA 75*6bf20aa5Szhijian SectionOrLength: 0x0 76*6bf20aa5Szhijian - Name: comval 77*6bf20aa5Szhijian Section: .bss 78*6bf20aa5Szhijian Value: 0x13C 79*6bf20aa5Szhijian StorageClass: C_EXT 80*6bf20aa5Szhijian Type: 0x00 81*6bf20aa5Szhijian AuxEntries: 82*6bf20aa5Szhijian - Type: AUX_CSECT 83*6bf20aa5Szhijian SymbolAlignmentAndType: 0x03 84*6bf20aa5Szhijian StorageMappingClass: XMC_RW 85*6bf20aa5Szhijian SectionOrLength: 0x0 86*6bf20aa5Szhijian - Name: abs 87*6bf20aa5Szhijian Section: N_ABS 88*6bf20aa5Szhijian - Name: symIn_N_debug 89*6bf20aa5Szhijian Section: N_DEBUG 90*6bf20aa5Szhijian - Name: .except 91*6bf20aa5Szhijian Section: .except 92*6bf20aa5Szhijian 93*6bf20aa5Szhijian## Global weak symbol. 94*6bf20aa5Szhijian# CHECK: 00000000 W ._Z3fwpv 95*6bf20aa5Szhijian## Global symbol in .text section. 96*6bf20aa5Szhijian# CHECK-NEXT: 00000000 T ._ZL5func0v 97*6bf20aa5Szhijian## Symbol in .bss section. 98*6bf20aa5Szhijian# CHECK-NEXT: 00000310 b .bss 99*6bf20aa5Szhijian## Local symbol in .data section. 100*6bf20aa5Szhijian# CHECK-NEXT: 00000080 d .data 101*6bf20aa5Szhijian## Symbol in .debug section. 102*6bf20aa5Szhijian# CHECK-NEXT: 00000000 N .debug 103*6bf20aa5Szhijian## Symbol in .except section. 104*6bf20aa5Szhijian# CHECK-NEXT: 00000000 ? .except 105*6bf20aa5Szhijian## Symbol .file. 106*6bf20aa5Szhijian# CHECK-NEXT: 00000000 f .file 107*6bf20aa5Szhijian## Local symbol in .text section. 108*6bf20aa5Szhijian# CHECK-NEXT: 00000010 t .text 109*6bf20aa5Szhijian## Absolute symbol. 110*6bf20aa5Szhijian# CHECK-NEXT: 00000000 a abs 111*6bf20aa5Szhijian## Common symbol. 112*6bf20aa5Szhijian# CHECK-NEXT: 0000013c C comval 113*6bf20aa5Szhijian## Undefined symbol. 114*6bf20aa5Szhijian# CHECK-NEXT: U extval 115*6bf20aa5Szhijian## Symbol in N_DEBUG section. 116*6bf20aa5Szhijian# CHECK-NEXT: 00000000 ? symIn_N_debug 117*6bf20aa5Szhijian## Global symbol in .data section. 118*6bf20aa5Szhijian# CHECK-NEXT: 00000000 D val 119