brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 1ccdf9f Raw
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