1// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s | FileCheck %s 2// RUN: llvm-mc -filetype=obj -triple x86_64-apple-darwin14.0.0-elf %s -o - | llvm-readobj -s | FileCheck %s -check-prefix=DARWIN 3// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32-elf %s -o - | llvm-readobj -s | FileCheck %s -check-prefix=WINDOWS 4 5// Check that we can create ELF files for darwin/windows, even though 6// it is not the default file format. 7 8// DARWIN: Format: ELF64-x86-64 9// WINDOWS: Format: ELF64-x86-64 10// DARWIN-NEXT: Arch: x86_64 11// WINDOWS-NEXT: Arch: x86_64 12 13// Test that we create text by default. Also test that symtab and strtab are 14// listed. 15 16// CHECK: Section { 17// CHECK: Name: .strtab 18// CHECK-NEXT: Type: SHT_STRTAB 19// CHECK-NEXT: Flags [ 20// CHECK-NEXT: ] 21// CHECK-NEXT: Address: 0x0 22// CHECK-NEXT: Offset: 23// CHECK-NEXT: Size: 23 24// CHECK-NEXT: Link: 0 25// CHECK-NEXT: Info: 0 26// CHECK-NEXT: AddressAlignment: 1 27// CHECK-NEXT: EntrySize: 0 28// CHECK-NEXT: } 29// CHECK: Section { 30// CHECK: Name: .text 31// CHECK-NEXT: Type: SHT_PROGBITS 32// CHECK-NEXT: Flags [ 33// CHECK-NEXT: SHF_ALLOC 34// CHECK-NEXT: SHF_EXECINSTR 35// CHECK-NEXT: ] 36// CHECK-NEXT: Address: 0x0 37// CHECK-NEXT: Offset: 0x40 38// CHECK-NEXT: Size: 0 39// CHECK-NEXT: Link: 0 40// CHECK-NEXT: Info: 0 41// CHECK-NEXT: AddressAlignment: 4 42// CHECK-NEXT: EntrySize: 0 43// CHECK-NEXT: } 44// CHECK: Section { 45// CHECK: Name: .symtab 46// CHECK-NEXT: Type: SHT_SYMTAB 47// CHECK-NEXT: Flags [ 48// CHECK-NEXT: ] 49// CHECK-NEXT: Address: 0x0 50// CHECK-NEXT: Offset: 51// CHECK-NEXT: Size: 24 52// CHECK-NEXT: Link: 53// CHECK-NEXT: Info: 1 54// CHECK-NEXT: AddressAlignment: 8 55// CHECK-NEXT: EntrySize: 24 56// CHECK-NEXT: } 57