llvm/llvm/test/tools/llvm-objdump/X86/phdrs-lma3.test

# RUN: yaml2obj %s -o %t

## .data and .data_copy have the same VMA but different sh_offset values.
## Check that we can still print LMA correctly.
# RUN: llvm-objdump --section-headers %t | FileCheck %s

# CHECK:      Sections:
# CHECK-NEXT: Idx Name          Size     VMA              LMA              Type
# CHECK-NEXT:   0               00000000 0000000000000000 0000000000000000
# CHECK-NEXT:   1 .text         00000004 0000000000001000 0000000000002000 TEXT
# CHECK-NEXT:   2 .data         00000004 0000000000002000 0000000000003000 DATA
# CHECK-NEXT:   3 .data_copy    00000004 0000000000002000 0000000000004000 DATA

!ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_EXEC
  Machine:         EM_X86_64
Sections:
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    Content:         "00000000"
    Address:         0x00001000
  - Name:            .data
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
    Content:         "00000000"
    Address:         0x00002000
  - Name:            .data_copy
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC ]
    Content:         "00000000"
    Address:         0x00002000
ProgramHeaders:
  - Type:     PT_LOAD
    Flags:    [ PF_X, PF_R ]
    VAddr:    0x00001000
    PAddr:    0x00002000
    FirstSec: .text
    LastSec:  .text
  - Type:     PT_LOAD
    Flags:    [ PF_R ]
    VAddr:    0x00002000
    PAddr:    0x00003000
    FirstSec: .data
    LastSec:  .data
  - Type:     PT_LOAD
    Flags:    [ PF_R ]
    VAddr:    0x00002000
    PAddr:    0x00004000
    FirstSec: .data_copy
    LastSec:  .data_copy