1 # RUN: yaml2obj -format=elf %s | llvm-readobj -symbols - | \ 2 # RUN: FileCheck --check-prefix OBJ %s 3 # RUN: yaml2obj -format=elf %s | obj2yaml - | FileCheck --check-prefix YAML %s 4 5 # OBJ: Symbol { 6 # OBJ: Name: default1 (36) 7 # OBJ-NEXT: Value: 0x0 8 # OBJ-NEXT: Size: 4 9 # OBJ-NEXT: Binding: Global (0x1) 10 # OBJ-NEXT: Type: Object (0x1) 11 # OBJ-NEXT: Other: 0 12 # OBJ-NEXT: Section: .data (0x1) 13 # OBJ-NEXT: } 14 # OBJ-NEXT: Symbol { 15 # OBJ-NEXT: Name: default2 (27) 16 # OBJ-NEXT: Value: 0x4 17 # OBJ-NEXT: Size: 4 18 # OBJ-NEXT: Binding: Global (0x1) 19 # OBJ-NEXT: Type: Object (0x1) 20 # OBJ-NEXT: Other: 0 21 # OBJ-NEXT: Section: .data (0x1) 22 # OBJ-NEXT: } 23 # OBJ-NEXT: Symbol { 24 # OBJ-NEXT: Name: internal (8) 25 # OBJ-NEXT: Value: 0x8 26 # OBJ-NEXT: Size: 4 27 # OBJ-NEXT: Binding: Global (0x1) 28 # OBJ-NEXT: Type: Object (0x1) 29 # OBJ-NEXT: Other: 1 30 # OBJ-NEXT: Section: .data (0x1) 31 # OBJ-NEXT: } 32 # OBJ-NEXT: Symbol { 33 # OBJ-NEXT: Name: hidden (1) 34 # OBJ-NEXT: Value: 0xC 35 # OBJ-NEXT: Size: 4 36 # OBJ-NEXT: Binding: Global (0x1) 37 # OBJ-NEXT: Type: Object (0x1) 38 # OBJ-NEXT: Other: 2 39 # OBJ-NEXT: Section: .data (0x1) 40 # OBJ-NEXT: } 41 # OBJ-NEXT: Symbol { 42 # OBJ-NEXT: Name: protected (17) 43 # OBJ-NEXT: Value: 0x10 44 # OBJ-NEXT: Size: 4 45 # OBJ-NEXT: Binding: Global (0x1) 46 # OBJ-NEXT: Type: Object (0x1) 47 # OBJ-NEXT: Other: 163 48 # OBJ-NEXT: Section: .data (0x1) 49 # OBJ-NEXT: } 50 51 # YAML: Symbols: 52 # YAML-NEXT: Global: 53 # YAML-NEXT: - Name: default1 54 # YAML-NEXT: Type: STT_OBJECT 55 # YAML-NEXT: Section: .data 56 # YAML-NEXT: Size: 0x0000000000000004 57 # YAML-NEXT: - Name: default2 58 # YAML-NEXT: Type: STT_OBJECT 59 # YAML-NEXT: Section: .data 60 # YAML-NEXT: Value: 0x0000000000000004 61 # YAML-NEXT: Size: 0x0000000000000004 62 # YAML-NEXT: - Name: internal 63 # YAML-NEXT: Type: STT_OBJECT 64 # YAML-NEXT: Section: .data 65 # YAML-NEXT: Value: 0x0000000000000008 66 # YAML-NEXT: Size: 0x0000000000000004 67 # YAML-NEXT: Visibility: STV_INTERNAL 68 # YAML-NEXT: - Name: hidden 69 # YAML-NEXT: Type: STT_OBJECT 70 # YAML-NEXT: Section: .data 71 # YAML-NEXT: Value: 0x000000000000000C 72 # YAML-NEXT: Size: 0x0000000000000004 73 # YAML-NEXT: Visibility: STV_HIDDEN 74 # YAML-NEXT: - Name: protected 75 # YAML-NEXT: Type: STT_OBJECT 76 # YAML-NEXT: Section: .data 77 # YAML-NEXT: Value: 0x0000000000000010 78 # YAML-NEXT: Size: 0x0000000000000004 79 # YAML-NEXT: Visibility: STV_PROTECTED 80 # YAML-NEXT: Other: [ STO_MIPS_PIC, STO_MIPS_MICROMIPS ] 81 82 --- 83 FileHeader: 84 Class: ELFCLASS32 85 Data: ELFDATA2LSB 86 Type: ET_REL 87 Machine: EM_MIPS 88 Flags: [ EF_MIPS_ABI_O32, EF_MIPS_ARCH_32 ] 89 90 Sections: 91 - Name: .data 92 Type: SHT_PROGBITS 93 Flags: [ SHF_ALLOC, SHF_WRITE ] 94 AddressAlign: 0x04 95 Size: 0x14 96 97 Symbols: 98 Global: 99 - Name: default1 100 Type: STT_OBJECT 101 Visibility: STV_DEFAULT 102 Section: .data 103 Value: 0x00 104 Size: 0x04 105 - Name: default2 106 Type: STT_OBJECT 107 Section: .data 108 Value: 0x04 109 Size: 0x04 110 - Name: internal 111 Type: STT_OBJECT 112 Visibility: STV_INTERNAL 113 Section: .data 114 Value: 0x08 115 Size: 0x04 116 - Name: hidden 117 Type: STT_OBJECT 118 Visibility: STV_HIDDEN 119 Section: .data 120 Value: 0x0C 121 Size: 0x04 122 - Name: protected 123 Type: STT_OBJECT 124 Visibility: STV_PROTECTED 125 Other: [ STO_MIPS_MICROMIPS, STO_MIPS_PIC ] 126 Section: .data 127 Value: 0x10 128 Size: 0x04 129