15772e02bSJames Henderson## This test shows that llvm-objcopy does not baulk at overlapping sections 25772e02bSJames Henderson## where such sections are within segments. 35772e02bSJames Henderson## These don't really make sense, but the tool should still handle invalid 45772e02bSJames Henderson## inputs somehow. 55772e02bSJames Henderson# RUN: yaml2obj %s -o %t.o 65772e02bSJames Henderson 75772e02bSJames Henderson## Check that the contents are as expected before the copy. 85772e02bSJames Henderson# RUN: llvm-readobj -x .first -x .second %t.o | FileCheck %s --check-prefix=CONTENTS 95772e02bSJames Henderson 105772e02bSJames Henderson## Now check that the section contents are still correct after the copy and show that 115772e02bSJames Henderson## llvm-objcopy hasn't "unoverlapped" these sections because they are in segments. 125772e02bSJames Henderson# RUN: llvm-objcopy %t.o %t2.o 135772e02bSJames Henderson# RUN: llvm-readobj --section-headers %t2.o | FileCheck %s 145772e02bSJames Henderson# RUN: llvm-readobj -x .first -x .second %t2.o | FileCheck %s --check-prefix=CONTENTS 155772e02bSJames Henderson 165772e02bSJames Henderson# CHECK: Name: .first 175772e02bSJames Henderson# CHECK: Offset: 0x1000 185772e02bSJames Henderson# CHECK: Name: .second 195772e02bSJames Henderson# CHECK: Offset: 0x1001 205772e02bSJames Henderson 215772e02bSJames Henderson# CONTENTS: Hex dump of section '.first': 225772e02bSJames Henderson# CONTENTS-NEXT: 0x00000000 01234567 2367742399SFangrui Song# CONTENTS-EMPTY: 245772e02bSJames Henderson# CONTENTS-NEXT: Hex dump of section '.second': 255772e02bSJames Henderson# CONTENTS-NEXT: 0x00000000 23456789 265772e02bSJames Henderson 275772e02bSJames Henderson--- !ELF 285772e02bSJames HendersonFileHeader: 295772e02bSJames Henderson Class: ELFCLASS64 305772e02bSJames Henderson Data: ELFDATA2LSB 315772e02bSJames Henderson Type: ET_EXEC 325772e02bSJames Henderson Machine: EM_X86_64 335772e02bSJames HendersonSections: 345772e02bSJames Henderson - Name: .first 355772e02bSJames Henderson Type: SHT_PROGBITS 365772e02bSJames Henderson Content: '01234567' 375772e02bSJames Henderson AddressAlign: 0x1000 385772e02bSJames Henderson - Name: .second 395772e02bSJames Henderson Type: SHT_PROGBITS 405772e02bSJames Henderson Content: '89abcdef' 41*a5dfa708SGeorge Rimar ShOffset: 0x1001 425772e02bSJames HendersonProgramHeaders: 435772e02bSJames Henderson - Type: PT_LOAD 445772e02bSJames Henderson FileSize: 5 455772e02bSJames Henderson Offset: 0x1000 465772e02bSJames Henderson Align: 0x1000 47