1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s 2 3 // Test that like gnu as we create text, data and bss by default. Also test 4 // that shstrtab, symtab and strtab are listed in that order. 5 6 // CHECK: Section { 7 // CHECK: Name: .text 8 // CHECK-NEXT: Type: SHT_PROGBITS 9 // CHECK-NEXT: Flags [ 10 // CHECK-NEXT: SHF_ALLOC 11 // CHECK-NEXT: SHF_EXECINSTR 12 // CHECK-NEXT: ] 13 // CHECK-NEXT: Address: 0x0 14 // CHECK-NEXT: Offset: 0x40 15 // CHECK-NEXT: Size: 0 16 // CHECK-NEXT: Link: 0 17 // CHECK-NEXT: Info: 0 18 // CHECK-NEXT: AddressAlignment: 4 19 // CHECK-NEXT: EntrySize: 0 20 // CHECK-NEXT: } 21 // CHECK: Section { 22 // CHECK: Name: .data 23 // CHECK-NEXT: Type: SHT_PROGBITS 24 // CHECK-NEXT: Flags [ 25 // CHECK-NEXT: SHF_ALLOC 26 // CHECK-NEXT: SHF_WRITE 27 // CHECK-NEXT: ] 28 // CHECK-NEXT: Address: 0x0 29 // CHECK-NEXT: Offset: 0x40 30 // CHECK-NEXT: Size: 0 31 // CHECK-NEXT: Link: 0 32 // CHECK-NEXT: Info: 0 33 // CHECK-NEXT: AddressAlignment: 4 34 // CHECK-NEXT: EntrySize: 0 35 // CHECK-NEXT: } 36 // CHECK: Section { 37 // CHECK: Name: .bss 38 // CHECK-NEXT: Type: SHT_NOBITS 39 // CHECK-NEXT: Flags [ 40 // CHECK-NEXT: SHF_ALLOC 41 // CHECK-NEXT: SHF_WRITE 42 // CHECK-NEXT: ] 43 // CHECK-NEXT: Address: 0x0 44 // CHECK-NEXT: Offset: 0x40 45 // CHECK-NEXT: Size: 0 46 // CHECK-NEXT: Link: 0 47 // CHECK-NEXT: Info: 0 48 // CHECK-NEXT: AddressAlignment: 4 49 // CHECK-NEXT: EntrySize: 0 50 // CHECK-NEXT: } 51 // CHECK: Section { 52 // CHECK: Name: .shstrtab 53 // CHECK-NEXT: Type: SHT_STRTAB 54 // CHECK-NEXT: Flags [ 55 // CHECK-NEXT: ] 56 // CHECK-NEXT: Address: 0x0 57 // CHECK-NEXT: Offset: 0x40 58 // CHECK-NEXT: Size: 44 59 // CHECK-NEXT: Link: 0 60 // CHECK-NEXT: Info: 0 61 // CHECK-NEXT: AddressAlignment: 1 62 // CHECK-NEXT: EntrySize: 0 63 // CHECK-NEXT: } 64 // CHECK: Section { 65 // CHECK: Name: .symtab 66 // CHECK-NEXT: Type: SHT_SYMTAB 67 // CHECK-NEXT: Flags [ 68 // CHECK-NEXT: ] 69 // CHECK-NEXT: Address: 0x0 70 // CHECK-NEXT: Offset: 71 // CHECK-NEXT: Size: 96 72 // CHECK-NEXT: Link: 6 73 // CHECK-NEXT: Info: 4 74 // CHECK-NEXT: AddressAlignment: 8 75 // CHECK-NEXT: EntrySize: 24 76 // CHECK-NEXT: } 77 // CHECK: Section { 78 // CHECK: Name: .strtab 79 // CHECK-NEXT: Type: SHT_STRTAB 80 // CHECK-NEXT: Flags [ 81 // CHECK-NEXT: ] 82 // CHECK-NEXT: Address: 0x0 83 // CHECK-NEXT: Offset: 84 // CHECK-NEXT: Size: 1 85 // CHECK-NEXT: Link: 0 86 // CHECK-NEXT: Info: 0 87 // CHECK-NEXT: AddressAlignment: 1 88 // CHECK-NEXT: EntrySize: 0 89 // CHECK-NEXT: } 90