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