xref: /llvm-project/llvm/test/tools/llvm-objcopy/ELF/program-headers.test (revision a7a447be0fa934505f0c423fb97b91a68c1cc715)
16e4dc6f2SAlexander Shaposhnikov# RUN: yaml2obj %s -o %t
26e4dc6f2SAlexander Shaposhnikov# RUN: llvm-objcopy %t %t2
3298ea3f5SJordan Rupprecht# RUN: llvm-readobj --program-headers %t2 | FileCheck %s
46e4dc6f2SAlexander Shaposhnikov
56e4dc6f2SAlexander Shaposhnikov!ELF
66e4dc6f2SAlexander ShaposhnikovFileHeader:
76e4dc6f2SAlexander Shaposhnikov  Class:           ELFCLASS64
86e4dc6f2SAlexander Shaposhnikov  Data:            ELFDATA2LSB
96e4dc6f2SAlexander Shaposhnikov  Type:            ET_EXEC
106e4dc6f2SAlexander Shaposhnikov  Machine:         EM_X86_64
116e4dc6f2SAlexander ShaposhnikovSections:
126e4dc6f2SAlexander Shaposhnikov  - Name:            .text
136e4dc6f2SAlexander Shaposhnikov    Type:            SHT_PROGBITS
146e4dc6f2SAlexander Shaposhnikov    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
156e4dc6f2SAlexander Shaposhnikov    Address:         0xAAAA1000
166e4dc6f2SAlexander Shaposhnikov    AddressAlign:    0x0000000000001000
176e4dc6f2SAlexander Shaposhnikov    Content:         "00000000"
186e4dc6f2SAlexander Shaposhnikov  - Name:            .init
196e4dc6f2SAlexander Shaposhnikov    Type:            SHT_PROGBITS
206e4dc6f2SAlexander Shaposhnikov    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
216e4dc6f2SAlexander Shaposhnikov    Content:         "00000000"
226e4dc6f2SAlexander Shaposhnikov    Address:         0xAAAA1010
236e4dc6f2SAlexander Shaposhnikov    AddressAlign:    0x0000000000000010
246e4dc6f2SAlexander Shaposhnikov  - Name:            .data
256e4dc6f2SAlexander Shaposhnikov    Type:            SHT_PROGBITS
266e4dc6f2SAlexander Shaposhnikov    Flags:           [ SHF_ALLOC ]
276e4dc6f2SAlexander Shaposhnikov    Content:         "00000000"
286e4dc6f2SAlexander Shaposhnikov    Address:         0xAAAA2000
296e4dc6f2SAlexander Shaposhnikov    AddressAlign:    0x0000000000001000
306e4dc6f2SAlexander ShaposhnikovProgramHeaders:
316e4dc6f2SAlexander Shaposhnikov  - Type:     PT_LOAD
326e4dc6f2SAlexander Shaposhnikov    Flags:    [ PF_X, PF_R ]
336e4dc6f2SAlexander Shaposhnikov    VAddr:    0xAAAA1000
346e4dc6f2SAlexander Shaposhnikov    PAddr:    0xFFFF1000
35*a7a447beSGeorgii Rymar    FirstSec: .text
36*a7a447beSGeorgii Rymar    LastSec:  .init
376e4dc6f2SAlexander Shaposhnikov  - Type:     PT_LOAD
386e4dc6f2SAlexander Shaposhnikov    Flags:    [ PF_R ]
396e4dc6f2SAlexander Shaposhnikov    VAddr:    0xAAAA2000
406e4dc6f2SAlexander Shaposhnikov    PAddr:    0xFFFF2000
41*a7a447beSGeorgii Rymar    FirstSec: .data
42*a7a447beSGeorgii Rymar    LastSec:  .data
436e4dc6f2SAlexander Shaposhnikov
446e4dc6f2SAlexander Shaposhnikov#CHECK:     ProgramHeaders [
456e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:   ProgramHeader {
466e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Type: PT_LOAD
476e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Offset: 0x1000
486e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    VirtualAddress: 0xAAAA1000
496e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    PhysicalAddress: 0xFFFF1000
506e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    FileSize: 20
516e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    MemSize: 20
526e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Flags [
536e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:      PF_R
546e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:      PF_X
556e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    ]
566e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Alignment: 4096
576e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:  }
586e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:  ProgramHeader {
596e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Type: PT_LOAD
606e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Offset: 0x2000
616e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    VirtualAddress: 0xAAAA2000
626e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    PhysicalAddress: 0xFFFF2000
636e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    FileSize: 4
646e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    MemSize: 4
656e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Flags [
666e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:      PF_R
676e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    ]
686e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:    Alignment: 4096
696e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:  }
706e4dc6f2SAlexander Shaposhnikov#CHECK-NEXT:]
71