# This test checks if sections are created properly in the output that appear in # the input RUN: lld -flavor old-gnu -target i386 -o %t1 %p/Inputs/section-test.i386 \ RUN: -static -e baz RUN: llvm-objdump -section-headers %t1 | FileCheck -check-prefix=OBJDUMP %s RUN: llvm-readobj -h -s -t %t1 | FileCheck -check-prefix=READOBJ %s OBJDUMP: 0 00000000 0000000000000000 OBJDUMP: 1 .text 0000000a 0000000000000074 TEXT DATA OBJDUMP: 2 .data 00000004 0000000000001000 DATA OBJDUMP: 3 .special 00000004 0000000000001004 DATA OBJDUMP: 4 .anotherspecial 00000004 0000000000001008 DATA OBJDUMP: 5 .bss 00000004 000000000000100c BSS OBJDUMP: 6 .shstrtab {{[0-9a-f]+}} 0000000000000000 OBJDUMP: 7 .symtab {{[0-9a-f]+}} 0000000000000000 OBJDUMP: 8 .strtab {{[0-9a-f]+}} 0000000000000000 READOBJ: Format: ELF32-i386 READOBJ: Arch: i386 READOBJ: AddressSize: 32bit READOBJ: ElfHeader { READOBJ: Ident { READOBJ: DataEncoding: LittleEndian (0x1) READOBJ: } READOBJ: Machine: EM_386 READOBJ: } READOBJ: Sections [ READOBJ: Section { READOBJ: Index: 0 READOBJ: Name: (0) READOBJ: Type: SHT_NULL READOBJ: Flags [ (0x0) READOBJ: ] READOBJ: Address: 0x0 READOBJ: Size: 0 READOBJ: } READOBJ: Section { READOBJ: Index: 1 READOBJ: Name: .text READOBJ: Type: SHT_PROGBITS READOBJ: Flags [ (0x6) READOBJ: SHF_ALLOC READOBJ: SHF_EXECINSTR READOBJ: ] READOBJ: Address: 0x74 READOBJ: Size: 10 READOBJ: AddressAlignment: 4 READOBJ: } READOBJ: Section { READOBJ: Index: 2 READOBJ: Name: .data READOBJ: Type: SHT_PROGBITS READOBJ: Flags [ (0x3) READOBJ: SHF_ALLOC READOBJ: SHF_WRITE READOBJ: ] READOBJ: Address: 0x1000 READOBJ: Size: 4 READOBJ: AddressAlignment: 4 READOBJ: } READOBJ: Section { READOBJ: Index: 3 READOBJ: Name: .special READOBJ: Type: SHT_PROGBITS READOBJ: Flags [ (0x3) READOBJ: SHF_ALLOC READOBJ: SHF_WRITE READOBJ: ] READOBJ: Address: 0x1004 READOBJ: Size: 4 READOBJ: } READOBJ: Section { READOBJ: Index: 4 READOBJ: Name: .anotherspecial READOBJ: Type: SHT_PROGBITS READOBJ: Flags [ (0x3) READOBJ: SHF_ALLOC READOBJ: SHF_WRITE READOBJ: ] READOBJ: Address: 0x1008 READOBJ: Size: 4 READOBJ: } READOBJ: Section { READOBJ: Index: 5 READOBJ: Name: .bss READOBJ: Type: SHT_NOBITS READOBJ: Flags [ (0x3) READOBJ: SHF_ALLOC READOBJ: SHF_WRITE READOBJ: ] READOBJ: Address: 0x100C READOBJ: Size: 4 READOBJ: } READOBJ: Section { READOBJ: Index: 6 READOBJ: Name: .shstrtab READOBJ: Type: SHT_STRTAB READOBJ: Flags [ (0x0) READOBJ: ] READOBJ: Address: 0x0 READOBJ: Link: 0 READOBJ: AddressAlignment: 1 READOBJ: } READOBJ: Section { READOBJ: Index: 7 READOBJ: Name: .symtab READOBJ: Type: SHT_SYMTAB READOBJ: Flags [ (0x0) READOBJ: ] READOBJ: Address: 0x0 READOBJ: Link: 8 READOBJ: AddressAlignment: 4 READOBJ: EntrySize: 16 READOBJ: } READOBJ: Section { READOBJ: Index: 8 READOBJ: Name: .strtab READOBJ: Type: SHT_STRTAB READOBJ: Flags [ (0x0) READOBJ: ] READOBJ: Address: 0x0 READOBJ: } READOBJ: ] READOBJ: Symbols [ READOBJ: Symbol { READOBJ: Name: baz READOBJ: Value: 0x74 READOBJ: Size: 10 READOBJ: Binding: Global READOBJ: Type: Function READOBJ: Section: .text READOBJ: } READOBJ: Symbol { READOBJ: Name: y READOBJ: Value: 0x1004 READOBJ: Size: 4 READOBJ: Binding: Global READOBJ: Type: Object READOBJ: Section: .special READOBJ: }