brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · 6d78937 Raw
114 lines · plain
1# This test tests how ParentSegment is set for Segments. In particular this test2# tests that if a chain of parents forms, the offsets are chosen for parents3# first despite the order of the list. It also tests multiple branches of the4# code that assigns parents.5 6# RUN: yaml2obj %s -o %t7# RUN: llvm-objcopy %t %t28# RUN: llvm-readobj --program-headers %t2 | FileCheck %s9 10!ELF11FileHeader:12  Class:           ELFCLASS6413  Data:            ELFDATA2LSB14  Type:            ET_EXEC15  Machine:         EM_X86_6416Sections:17  - Name:            .text18    Type:            SHT_PROGBITS19    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]20    AddressAlign:    0x100021    Size:            409622  - Name:            .text223    Type:            SHT_PROGBITS24    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]25    AddressAlign:    0x100026    Size:            409627  - Name:            .text328    Type:            SHT_PROGBITS29    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]30    AddressAlign:    0x100031    Size:            409632  - Name:            .text433    Type:            SHT_PROGBITS34    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]35    AddressAlign:    0x100036    Size:            409637  - Name:            .text538    Type:            SHT_PROGBITS39    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]40    AddressAlign:    0x100041    Size:            409642ProgramHeaders:43  - Type:     PT_LOAD44    Flags:    [ PF_X, PF_R ]45    FirstSec: .text46    LastSec:  .text247  - Type:     PT_LOAD48    Flags:    [ PF_X, PF_R ]49    FirstSec: .text450    LastSec:  .text551  - Type:     PT_LOAD52    Flags:    [ PF_X, PF_R ]53    FirstSec: .text354    LastSec:  .text455  - Type:     PT_LOAD56    Flags:    [ PF_X, PF_R ]57    FirstSec: .text258    LastSec:  .text359 60#CHECK:     ProgramHeaders [61#CHECK-NEXT:  ProgramHeader {62#CHECK-NEXT:    Type: PT_LOAD (0x1)63#CHECK-NEXT:    Offset: 0x100064#CHECK-NEXT:    VirtualAddress: 0x065#CHECK-NEXT:    PhysicalAddress: 0x066#CHECK-NEXT:    FileSize: 819267#CHECK-NEXT:    MemSize: 819268#CHECK-NEXT:    Flags [ (0x5)69#CHECK-NEXT:      PF_R (0x4)70#CHECK-NEXT:      PF_X (0x1)71#CHECK-NEXT:    ]72#CHECK-NEXT:    Alignment: 409673#CHECK-NEXT:  }74#CHECK-NEXT:  ProgramHeader {75#CHECK-NEXT:    Type: PT_LOAD (0x1)76#CHECK-NEXT:    Offset: 0x400077#CHECK-NEXT:    VirtualAddress: 0x078#CHECK-NEXT:    PhysicalAddress: 0x079#CHECK-NEXT:    FileSize: 819280#CHECK-NEXT:    MemSize: 819281#CHECK-NEXT:    Flags [ (0x5)82#CHECK-NEXT:      PF_R (0x4)83#CHECK-NEXT:      PF_X (0x1)84#CHECK-NEXT:    ]85#CHECK-NEXT:    Alignment: 409686#CHECK-NEXT:  }87#CHECK-NEXT:  ProgramHeader {88#CHECK-NEXT:    Type: PT_LOAD (0x1)89#CHECK-NEXT:    Offset: 0x300090#CHECK-NEXT:    VirtualAddress: 0x091#CHECK-NEXT:    PhysicalAddress: 0x092#CHECK-NEXT:    FileSize: 819293#CHECK-NEXT:    MemSize: 819294#CHECK-NEXT:    Flags [ (0x5)95#CHECK-NEXT:      PF_R (0x4)96#CHECK-NEXT:      PF_X (0x1)97#CHECK-NEXT:    ]98#CHECK-NEXT:    Alignment: 409699#CHECK-NEXT:  }100#CHECK-NEXT:  ProgramHeader {101#CHECK-NEXT:    Type: PT_LOAD (0x1)102#CHECK-NEXT:    Offset: 0x2000103#CHECK-NEXT:    VirtualAddress: 0x0104#CHECK-NEXT:    PhysicalAddress: 0x0105#CHECK-NEXT:    FileSize: 8192106#CHECK-NEXT:    MemSize: 8192107#CHECK-NEXT:    Flags [ (0x5)108#CHECK-NEXT:      PF_R (0x4)109#CHECK-NEXT:      PF_X (0x1)110#CHECK-NEXT:    ]111#CHECK-NEXT:    Alignment: 4096112#CHECK-NEXT:  }113#CHECK-NEXT:]114