92 lines · plain
1## .empty is not covered by a segment. Its offset is moved to 0x200 to fill the gap.2# RUN: yaml2obj --docnum=1 %s -o %t13# RUN: llvm-objcopy %t1 %t1.out4# RUN: llvm-readelf -S %t1.out | FileCheck --check-prefix=CHECK1 %s5 6# CHECK1: Name Type Address Off7# CHECK1-NEXT: NULL 0000000000000000 0000008# CHECK1-NEXT: .foo PROGBITS 0000000000000000 0001009# CHECK1-NEXT: .empty PROGBITS 0000000000001000 00020010# CHECK1-NEXT: .baz PROGBITS 0000000000001000 00100011 12--- !ELF13FileHeader:14 Class: ELFCLASS6415 Data: ELFDATA2LSB16 Type: ET_EXEC17 Machine: EM_X86_6418Sections:19 - Name: gap20 Type: Fill21 Size: 0xE0022 - Name: .foo23 Type: SHT_PROGBITS24 Flags: [ SHF_ALLOC ]25 AddressAlign: 0x10026 Address: 027 Size: 0x10028 - Name: .empty29 Type: SHT_PROGBITS30 Flags: [ SHF_ALLOC ]31 Address: 0x100032 - Name: .baz33 Type: SHT_PROGBITS34 Flags: [ SHF_ALLOC ]35 AddressAlign: 0x100036 Address: 0x100037 Size: 0x10038 39## Test that we attribute .empty to the second segment. Its offset is assigned according to40## the p_offset of the second segment.41# RUN: yaml2obj --docnum=2 %s -o %t242# RUN: llvm-objcopy %t2 %t2.out43# RUN: llvm-readelf -S -l %t2.out | FileCheck --check-prefix=CHECK2 %s44 45# CHECK2: Name Type Address Off46# CHECK2-NEXT: NULL 0000000000000000 00000047# CHECK2-NEXT: .foo PROGBITS 0000000000000000 00010048# CHECK2-NEXT: .empty PROGBITS 0000000000001000 00100049# CHECK2-NEXT: .baz PROGBITS 0000000000001000 00100050 51# CHECK2: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align52# CHECK2-NEXT: LOAD 0x000100 0x0000000000000000 0x0000000000000000 0x000100 0x000100 0x10053# CHECK2-NEXT: LOAD 0x001000 0x0000000000001000 0x0000000000001000 0x000100 0x000100 0x100054 55--- !ELF56FileHeader:57 Class: ELFCLASS6458 Data: ELFDATA2LSB59 Type: ET_EXEC60 Machine: EM_X86_6461Sections:62 - Name: gap63 Type: Fill64 Size: 0xE0065 - Name: .foo66 Type: SHT_PROGBITS67 Flags: [ SHF_ALLOC ]68 AddressAlign: 0x10069 Address: 070 Size: 0x10071 - Name: .empty72 Type: SHT_PROGBITS73 Flags: [ SHF_ALLOC ]74 Address: 0x100075 - Name: .baz76 Type: SHT_PROGBITS77 Flags: [ SHF_ALLOC ]78 AddressAlign: 0x100079 Address: 0x100080 Size: 0x10081ProgramHeaders:82 - Type: PT_LOAD83 VAddr: 084 Align: 0x10085 FirstSec: .foo86 LastSec: .foo87 - Type: PT_LOAD88 VAddr: 0x100089 Align: 0x100090 FirstSec: .empty91 LastSec: .baz92