## This test shows that llvm-objcopy does not baulk at overlapping sections.
## These don't really make sense, but the tool should still handle invalid
## inputs somehow.
# RUN: yaml2obj %s -o %t.o

## Check that the contents are as expected before the copy.
# RUN: llvm-readobj -x .first -x .second %t.o | FileCheck %s --check-prefix=CONTENTS

## Now check that the section contents are still correct after the copy.
## Also characterize the behavior of llvm-objcopy in that it "unoverlaps" the
## two sections.
# RUN: llvm-objcopy %t.o %t2.o
# RUN: llvm-readobj --section-headers %t2.o | FileCheck %s
# RUN: llvm-readobj -x .first -x .second %t2.o | FileCheck %s --check-prefix=CONTENTS

# CHECK: Name: .first
# CHECK: Offset: 0x1000
# CHECK: Name: .second
# CHECK: Offset: 0x1004

# CONTENTS:      Hex dump of section '.first':
# CONTENTS-NEXT: 0x00000000 01234567
# CONTENTS-EMPTY:
# CONTENTS-NEXT: Hex dump of section '.second':
# CONTENTS-NEXT: 0x00000000 23456789

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_EXEC
  Machine: EM_X86_64
Sections:
  - Name: .first
    Type: SHT_PROGBITS
    Content: '01234567'
    AddressAlign: 0x1000
  - Name: .second
    Type: SHT_PROGBITS
    Content: '89abcdef'
    ShOffset: 0x1001
