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