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
5 // Check that we can create ELF files for darwin/windows, even though
6 // it is not the default file format.
8 // DARWIN: Format: ELF64-x86-64
9 // WINDOWS: Format: ELF64-x86-64
10 // DARWIN-NEXT: Arch: x86_64
11 // WINDOWS-NEXT: Arch: x86_64
13 // Test that like gnu as we create text, data and bss by default. Also test
14 // that symtab and strtab are listed.
17 // CHECK: Name: .strtab
18 // CHECK-NEXT: Type: SHT_STRTAB
19 // CHECK-NEXT: Flags [
21 // CHECK-NEXT: Address: 0x0
22 // CHECK-NEXT: Offset:
23 // CHECK-NEXT: Size: 34
24 // CHECK-NEXT: Link: 0
25 // CHECK-NEXT: Info: 0
26 // CHECK-NEXT: AddressAlignment: 1
27 // CHECK-NEXT: EntrySize: 0
31 // CHECK-NEXT: Type: SHT_PROGBITS
32 // CHECK-NEXT: Flags [
33 // CHECK-NEXT: SHF_ALLOC
34 // CHECK-NEXT: SHF_EXECINSTR
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
46 // CHECK-NEXT: Type: SHT_PROGBITS
47 // CHECK-NEXT: Flags [
48 // CHECK-NEXT: SHF_ALLOC
49 // CHECK-NEXT: SHF_WRITE
51 // CHECK-NEXT: Address: 0x0
52 // CHECK-NEXT: Offset: 0x40
53 // CHECK-NEXT: Size: 0
54 // CHECK-NEXT: Link: 0
55 // CHECK-NEXT: Info: 0
56 // CHECK-NEXT: AddressAlignment: 4
57 // CHECK-NEXT: EntrySize: 0
61 // CHECK-NEXT: Type: SHT_NOBITS
62 // CHECK-NEXT: Flags [
63 // CHECK-NEXT: SHF_ALLOC
64 // CHECK-NEXT: SHF_WRITE
66 // CHECK-NEXT: Address: 0x0
67 // CHECK-NEXT: Offset: 0x40
68 // CHECK-NEXT: Size: 0
69 // CHECK-NEXT: Link: 0
70 // CHECK-NEXT: Info: 0
71 // CHECK-NEXT: AddressAlignment: 4
72 // CHECK-NEXT: EntrySize: 0
75 // CHECK: Name: .symtab
76 // CHECK-NEXT: Type: SHT_SYMTAB
77 // CHECK-NEXT: Flags [
79 // CHECK-NEXT: Address: 0x0
80 // CHECK-NEXT: Offset:
81 // CHECK-NEXT: Size: 24
83 // CHECK-NEXT: Info: 1
84 // CHECK-NEXT: AddressAlignment: 8
85 // CHECK-NEXT: EntrySize: 24