1*5772e02bSJames Henderson## This test checks that if a section has a sh_link field, and one or more 2*5772e02bSJames Henderson## sections are removed such that the target section index changes, then 3*5772e02bSJames Henderson## llvm-objcopy correctly updates the sh_link field. 4*5772e02bSJames Henderson 5*5772e02bSJames Henderson# RUN: yaml2obj %s -o %t.o 6*5772e02bSJames Henderson# RUN: llvm-objcopy --remove-section .foo %t.o %t2.o 7*5772e02bSJames Henderson# RUN: llvm-readobj --section-headers %t2.o | FileCheck %s 8*5772e02bSJames Henderson 9*5772e02bSJames Henderson--- !ELF 10*5772e02bSJames HendersonFileHeader: 11*5772e02bSJames Henderson Class: ELFCLASS64 12*5772e02bSJames Henderson Data: ELFDATA2LSB 13*5772e02bSJames Henderson Type: ET_EXEC 14*5772e02bSJames Henderson Machine: EM_X86_64 15*5772e02bSJames HendersonSections: 16*5772e02bSJames Henderson - Name: .foo 17*5772e02bSJames Henderson Type: SHT_PROGBITS 18*5772e02bSJames Henderson - Name: .bar 19*5772e02bSJames Henderson Type: SHT_PROGBITS 20*5772e02bSJames Henderson - Name: .baz 21*5772e02bSJames Henderson Type: SHT_PROGBITS 22*5772e02bSJames Henderson Link: .bar 23*5772e02bSJames Henderson 24*5772e02bSJames Henderson# CHECK: Index: 1 25*5772e02bSJames Henderson# CHECK-NEXT: Name: .bar 26*5772e02bSJames Henderson# CHECK: Name: .baz 27*5772e02bSJames Henderson## Find the next "Link" line, then check the value is exactly the index of .bar. 28*5772e02bSJames Henderson# CHECK: Link 29*5772e02bSJames Henderson# CHECK-SAME: : 1{{$}} 30