sections-ext.test revision fb1b6fddbe3f84c0454dd42134741a33042dadf3
1RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.coff-i386 \ 2RUN: | FileCheck %s -check-prefix COFF 3RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.elf-i386 \ 4RUN: | FileCheck %s -check-prefix ELF 5RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-i386 \ 6RUN: | FileCheck %s -check-prefix MACHO-I386 7RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-x86-64 \ 8RUN: | FileCheck %s -check-prefix MACHO-X86-64 9 10COFF: Sections [ 11COFF-NEXT: Section { 12COFF-NEXT: Number: 1 13COFF-NEXT: Name: .text (2E 74 65 78 74 00 00 00) 14COFF-NEXT: VirtualSize: 0x0 15COFF-NEXT: VirtualAddress: 0x0 16COFF-NEXT: RawDataSize: 22 17COFF-NEXT: PointerToRawData: 0x64 18COFF-NEXT: PointerToRelocations: 0x7A 19COFF-NEXT: PointerToLineNumbers: 0x0 20COFF-NEXT: RelocationCount: 3 21COFF-NEXT: LineNumberCount: 0 22COFF-NEXT: Characteristics [ (0x60500020) 23COFF-NEXT: IMAGE_SCN_ALIGN_16BYTES (0x500000) 24COFF-NEXT: IMAGE_SCN_CNT_CODE (0x20) 25COFF-NEXT: IMAGE_SCN_MEM_EXECUTE (0x20000000) 26COFF-NEXT: IMAGE_SCN_MEM_READ (0x40000000) 27COFF-NEXT: ] 28COFF-NEXT: Relocations [ 29COFF-NEXT: 0x4 IMAGE_REL_I386_DIR32 .data 30COFF-NEXT: 0x9 IMAGE_REL_I386_REL32 _puts 31COFF-NEXT: 0xE IMAGE_REL_I386_REL32 _SomeOtherFunction 32COFF-NEXT: ] 33COFF-NEXT: Symbols [ 34COFF-NEXT: Symbol { 35COFF-NEXT: Name: .text 36COFF-NEXT: Value: 0 37COFF-NEXT: Section: .text (1) 38COFF-NEXT: BaseType: Null (0x0) 39COFF-NEXT: ComplexType: Null (0x0) 40COFF-NEXT: StorageClass: Static (0x3) 41COFF-NEXT: AuxSymbolCount: 1 42COFF-NEXT: AuxSectionDef { 43COFF-NEXT: Length: 22 44COFF-NEXT: RelocationCount: 3 45COFF-NEXT: LineNumberCount: 0 46COFF-NEXT: Checksum: 0x0 47COFF-NEXT: Number: 1 48COFF-NEXT: Selection: 0x0 49COFF-NEXT: Unused: (00 00 00) 50COFF-NEXT: } 51COFF-NEXT: } 52COFF-NEXT: Symbol { 53COFF-NEXT: Name: _main 54COFF-NEXT: Value: 0 55COFF-NEXT: Section: .text (1) 56COFF-NEXT: BaseType: Null (0x0) 57COFF-NEXT: ComplexType: Function (0x2) 58COFF-NEXT: StorageClass: External (0x2) 59COFF-NEXT: AuxSymbolCount: 0 60COFF-NEXT: } 61COFF-NEXT: ] 62COFF-NEXT: SectionData ( 63COFF-NEXT: 0000: 50C70424 00000000 E8000000 00E80000 |P..$............| 64COFF-NEXT: 0010: 000031C0 5AC3 |..1.Z.| 65COFF-NEXT: ) 66COFF-NEXT: } 67 68ELF: Sections [ 69ELF-NEXT: Section { 70ELF-NEXT: Index: 0 71ELF-NEXT: Name: (0) 72ELF-NEXT: Type: SHT_NULL (0x0) 73ELF-NEXT: Flags [ (0x0) 74ELF-NEXT: ] 75ELF-NEXT: Address: 0x0 76ELF-NEXT: Offset: 0x0 77ELF-NEXT: Size: 0 78ELF-NEXT: Link: 0 79ELF-NEXT: Info: 0 80ELF-NEXT: AddressAlignment: 0 81ELF-NEXT: EntrySize: 0 82ELF-NEXT: Relocations [ 83ELF-NEXT: ] 84ELF-NEXT: Symbols [ 85ELF-NEXT: ] 86ELF-NEXT: SectionData ( 87ELF-NEXT: ) 88ELF-NEXT: } 89ELF-NEXT: Section { 90ELF-NEXT: Index: 1 91ELF-NEXT: Name: .text (5) 92ELF-NEXT: Type: SHT_PROGBITS (0x1) 93ELF-NEXT: Flags [ (0x6) 94ELF-NEXT: SHF_ALLOC (0x2) 95ELF-NEXT: SHF_EXECINSTR (0x4) 96ELF-NEXT: ] 97ELF-NEXT: Address: 0x0 98ELF-NEXT: Offset: 0x40 99ELF-NEXT: Size: 42 100ELF-NEXT: Link: 0 101ELF-NEXT: Info: 0 102ELF-NEXT: AddressAlignment: 16 103ELF-NEXT: EntrySize: 0 104ELF-NEXT: Relocations [ 105ELF-NEXT: 0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0 106ELF-NEXT: 0x12 R_386_GOTOFF .L.str 0x0 107ELF-NEXT: 0x1A R_386_PLT32 puts 0x0 108ELF-NEXT: 0x1F R_386_PLT32 SomeOtherFunction 0x0 109ELF-NEXT: ] 110ELF-NEXT: Symbols [ 111ELF-NEXT: Symbol { 112ELF-NEXT: Name: .text (0) 113ELF-NEXT: Value: 0x0 114ELF-NEXT: Size: 0 115ELF-NEXT: Binding: Local (0x0) 116ELF-NEXT: Type: Section (0x3) 117ELF-NEXT: Other: 0 118ELF-NEXT: Section: .text (0x1) 119ELF-NEXT: } 120ELF-NEXT: Symbol { 121ELF-NEXT: Name: main (12) 122ELF-NEXT: Value: 0x0 123ELF-NEXT: Size: 42 124ELF-NEXT: Binding: Global (0x1) 125ELF-NEXT: Type: Function (0x2) 126ELF-NEXT: Other: 0 127ELF-NEXT: Section: .text (0x1) 128ELF-NEXT: } 129ELF-NEXT: ] 130ELF-NEXT: SectionData ( 131ELF-NEXT: 0000: 5383EC08 E8000000 005B81C3 03000000 |S........[......| 132ELF-NEXT: 0010: 8D830000 00008904 24E8FCFF FFFFE8FC |........$.......| 133ELF-NEXT: 0020: FFFFFF31 C083C408 5BC3 |...1....[.| 134ELF-NEXT: ) 135ELF-NEXT: } 136 137MACHO-I386: Sections [ 138MACHO-I386-NEXT: Section { 139MACHO-I386-NEXT: Index: 0 140MACHO-I386-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) 141MACHO-I386-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 142MACHO-I386-NEXT: Address: 0x0 143MACHO-I386-NEXT: Size: 0x22 144MACHO-I386-NEXT: Offset: 324 145MACHO-I386-NEXT: Alignment: 4 146MACHO-I386-NEXT: RelocationOffset: 0x174 147MACHO-I386-NEXT: RelocationCount: 4 148MACHO-I386-NEXT: Type: 0x0 149MACHO-I386-NEXT: Attributes [ (0x800004) 150MACHO-I386-NEXT: PureInstructions (0x800000) 151MACHO-I386-NEXT: SomeInstructions (0x4) 152MACHO-I386-NEXT: ] 153MACHO-I386-NEXT: Reserved1: 0x0 154MACHO-I386-NEXT: Reserved2: 0x0 155MACHO-I386-NEXT: Relocations [ 156MACHO-I386-NEXT: 0x18 GENERIC_RELOC_VANILLA _SomeOtherFunction 0x0 157MACHO-I386-NEXT: 0x13 GENERIC_RELOC_VANILLA _puts 0x0 158MACHO-I386-NEXT: 0xB GENERIC_RELOC_LOCAL_SECTDIFF _main 0x{{[0-9A-F]+}} 159MACHO-I386-NEXT: 0x0 GENERIC_RELOC_PAIR _main 0x{{[0-9A-F]+}} 160MACHO-I386-NEXT: ] 161MACHO-I386-NEXT: Symbols [ 162MACHO-I386-NEXT: Symbol { 163MACHO-I386-NEXT: Name: _main (1) 164MACHO-I386-NEXT: Type: 0xF 165MACHO-I386-NEXT: Section: __text (0x1) 166MACHO-I386-NEXT: RefType: UndefinedNonLazy (0x0) 167MACHO-I386-NEXT: Flags [ (0x0) 168MACHO-I386-NEXT: ] 169MACHO-I386-NEXT: Value: 0x0 170MACHO-I386-NEXT: } 171MACHO-I386-NEXT: ] 172MACHO-I386-NEXT: SectionData ( 173MACHO-I386-NEXT: 0000: 83EC0CE8 00000000 588D801A 00000089 |........X.......| 174MACHO-I386-NEXT: 0010: 0424E8E9 FFFFFFE8 E4FFFFFF 31C083C4 |.$..........1...| 175MACHO-I386-NEXT: 0020: 0CC3 |..| 176MACHO-I386-NEXT: ) 177MACHO-I386-NEXT: } 178 179 180MACHO-X86-64: Sections [ 181MACHO-X86-64-NEXT: Section { 182MACHO-X86-64-NEXT: Index: 0 183MACHO-X86-64-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) 184MACHO-X86-64-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 185MACHO-X86-64-NEXT: Address: 0x0 186MACHO-X86-64-NEXT: Size: 0x16 187MACHO-X86-64-NEXT: Offset: 368 188MACHO-X86-64-NEXT: Alignment: 4 189MACHO-X86-64-NEXT: RelocationOffset: 0x194 190MACHO-X86-64-NEXT: RelocationCount: 3 191MACHO-X86-64-NEXT: Type: 0x0 192MACHO-X86-64-NEXT: Attributes [ (0x800004) 193MACHO-X86-64-NEXT: PureInstructions (0x800000) 194MACHO-X86-64-NEXT: SomeInstructions (0x4) 195MACHO-X86-64-NEXT: ] 196MACHO-X86-64-NEXT: Reserved1: 0x0 197MACHO-X86-64-NEXT: Reserved2: 0x0 198MACHO-X86-64-NEXT: Relocations [ 199MACHO-X86-64-NEXT: 0xE X86_64_RELOC_BRANCH _SomeOtherFunction 0x0 200MACHO-X86-64-NEXT: 0x9 X86_64_RELOC_BRANCH _puts 0x0 201MACHO-X86-64-NEXT: 0x4 X86_64_RELOC_SIGNED L_.str 0x0 202MACHO-X86-64-NEXT: ] 203MACHO-X86-64-NEXT: Symbols [ 204MACHO-X86-64-NEXT: Symbol { 205MACHO-X86-64-NEXT: Name: _main (1) 206MACHO-X86-64-NEXT: Type: 0xF 207MACHO-X86-64-NEXT: Section: __text (0x1) 208MACHO-X86-64-NEXT: RefType: UndefinedNonLazy (0x0) 209MACHO-X86-64-NEXT: Flags [ (0x0) 210MACHO-X86-64-NEXT: ] 211MACHO-X86-64-NEXT: Value: 0x0 212MACHO-X86-64-NEXT: } 213MACHO-X86-64-NEXT: ] 214MACHO-X86-64-NEXT: SectionData ( 215MACHO-X86-64-NEXT: 0000: 50488D3D 00000000 E8000000 00E80000 |PH.=............| 216MACHO-X86-64-NEXT: 0010: 000031C0 5AC3 |..1.Z.| 217MACHO-X86-64-NEXT: ) 218MACHO-X86-64-NEXT: } 219MACHO-X86-64-NEXT: Section { 220MACHO-X86-64-NEXT: Index: 1 221MACHO-X86-64-NEXT: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00) 222MACHO-X86-64-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) 223MACHO-X86-64-NEXT: Address: 0x16 224MACHO-X86-64-NEXT: Size: 0xD 225MACHO-X86-64-NEXT: Offset: 390 226MACHO-X86-64-NEXT: Alignment: 0 227MACHO-X86-64-NEXT: RelocationOffset: 0x0 228MACHO-X86-64-NEXT: RelocationCount: 0 229MACHO-X86-64-NEXT: Type: ExtReloc (0x2) 230MACHO-X86-64-NEXT: Attributes [ (0x0) 231MACHO-X86-64-NEXT: ] 232MACHO-X86-64-NEXT: Reserved1: 0x0 233MACHO-X86-64-NEXT: Reserved2: 0x0 234MACHO-X86-64-NEXT: Relocations [ 235MACHO-X86-64-NEXT: ] 236MACHO-X86-64-NEXT: Symbols [ 237MACHO-X86-64-NEXT: Symbol { 238MACHO-X86-64-NEXT: Name: L_.str (32) 239MACHO-X86-64-NEXT: Type: Section (0xE) 240MACHO-X86-64-NEXT: Section: __cstring (0x2) 241MACHO-X86-64-NEXT: RefType: UndefinedNonLazy (0x0) 242MACHO-X86-64-NEXT: Flags [ (0x0) 243MACHO-X86-64-NEXT: ] 244MACHO-X86-64-NEXT: Value: 0x16 245MACHO-X86-64-NEXT: } 246MACHO-X86-64-NEXT: ] 247MACHO-X86-64-NEXT: SectionData ( 248MACHO-X86-64-NEXT: 0000: 48656C6C 6F20576F 726C640A 00 |Hello World..| 249MACHO-X86-64-NEXT: ) 250MACHO-X86-64-NEXT: } 251MACHO-X86-64-NEXT:] 252