1## Test writing stub elf when symbol table contains no non-local symbol.
2
3# RUN: llvm-ifs --output-format=ELF --output=%t %s
4# RUN: llvm-readobj -S %t | FileCheck %s -DCLASS="64-bit (0x2)" -DDE="LittleEndian (0x1)" -DHS=64 -DPHES=56 -DSHES=64 -DDYNSYMAL=8 -DDYNSYMES=24 -DDYNAMICAL=8 -DDYNAMICES=16 -DDYNTABZ=000000000
5
6--- !ifs-v1
7IfsVersion: 3.0
8Target: { ObjectFormat: ELF, Arch: x86_64, Endianness: little, BitWidth: 64 }
9NeededLibs:
10  - libc.so.6
11Symbols: []
12...
13
14# CHECK:      Section {
15# CHECK-NEXT:   Index: 0
16# CHECK-NEXT:   Name:  (0)
17# CHECK-NEXT:   Type: SHT_NULL
18# CHECK-NEXT:   Flags [
19# CHECK-NEXT:   ]
20# CHECK-NEXT:   Address: 0x0
21# CHECK-NEXT:   Offset: 0x0
22# CHECK-NEXT:   Size: 0
23# CHECK-NEXT:   Link: 0
24# CHECK-NEXT:   Info: 0
25# CHECK-NEXT:   AddressAlignment: 0
26# CHECK-NEXT:   EntrySize: 0
27# CHECK-NEXT: }
28# CHECK-NEXT: Section {
29# CHECK-NEXT:   Index: 1
30# CHECK-NEXT:   Name: .dynsym
31# CHECK-NEXT:   Type: SHT_DYNSYM
32# CHECK-NEXT:   Flags [
33# CHECK-NEXT:     SHF_ALLOC
34# CHECK-NEXT:   ]
35# CHECK-NEXT:   Address:
36# CHECK-NEXT:   Offset:
37# CHECK-NEXT:   Size:
38# CHECK-NEXT:   Link: 2
39# CHECK-NEXT:   Info: 1
40# CHECK-NEXT:   AddressAlignment: [[DYNSYMAL]]
41# CHECK-NEXT:   EntrySize: [[DYNSYMES]]
42# CHECK-NEXT: }
43# CHECK-NEXT: Section {
44# CHECK-NEXT:   Index: 2
45# CHECK-NEXT:   Name: .dynstr
46# CHECK-NEXT:   Type: SHT_STRTAB
47# CHECK-NEXT:   Flags [
48# CHECK-NEXT:     SHF_ALLOC
49# CHECK-NEXT:   ]
50# CHECK-NEXT:   Address:
51# CHECK-NEXT:   Offset:
52# CHECK-NEXT:   Size:
53# CHECK-NEXT:   Link: 0
54# CHECK-NEXT:   Info: 0
55# CHECK-NEXT:   AddressAlignment: 1
56# CHECK-NEXT:   EntrySize: 0
57# CHECK-NEXT: }
58# CHECK-NEXT: Section {
59# CHECK-NEXT:   Index: 3
60# CHECK-NEXT:   Name: .dynamic
61# CHECK-NEXT:   Type: SHT_DYNAMIC
62# CHECK-NEXT:   Flags [
63# CHECK-NEXT:     SHF_ALLOC
64# CHECK-NEXT:   ]
65# CHECK-NEXT:   Address:
66# CHECK-NEXT:   Offset:
67# CHECK-NEXT:   Size:
68# CHECK-NEXT:   Link: 2
69# CHECK-NEXT:   Info: 0
70# CHECK-NEXT:   AddressAlignment: [[DYNAMICAL]]
71# CHECK-NEXT:   EntrySize: [[DYNAMICES]]
72# CHECK-NEXT: }
73# CHECK-NEXT: Section {
74# CHECK-NEXT:   Index: 4
75# CHECK-NEXT:   Name: .shstrtab
76# CHECK-NEXT:   Type: SHT_STRTAB
77# CHECK-NEXT:   Flags [
78# CHECK-NEXT:   ]
79# CHECK-NEXT:   Address:
80# CHECK-NEXT:   Offset:
81# CHECK-NEXT:   Size:
82# CHECK-NEXT:   Link: 0
83# CHECK-NEXT:   Info: 0
84# CHECK-NEXT:   AddressAlignment: 1
85# CHECK-NEXT:   EntrySize: 0
86# CHECK-NEXT: }
87