diff options
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/ELF/linked-section.test')
-rw-r--r-- | llvm/test/tools/llvm-objcopy/ELF/linked-section.test | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/ELF/linked-section.test b/llvm/test/tools/llvm-objcopy/ELF/linked-section.test new file mode 100644 index 00000000000..eb54dedda44 --- /dev/null +++ b/llvm/test/tools/llvm-objcopy/ELF/linked-section.test @@ -0,0 +1,29 @@ +## This test checks that if a section has a sh_link field, and one or more +## sections are removed such that the target section index changes, then +## llvm-objcopy correctly updates the sh_link field. + +# RUN: yaml2obj %s -o %t.o +# RUN: llvm-objcopy --remove-section .foo %t.o %t2.o +# RUN: llvm-readobj --section-headers %t2.o | FileCheck %s + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 +Sections: + - Name: .foo + Type: SHT_PROGBITS + - Name: .bar + Type: SHT_PROGBITS + - Name: .baz + Type: SHT_PROGBITS + Link: .bar + +# CHECK: Index: 1 +# CHECK-NEXT: Name: .bar +# CHECK: Name: .baz +## Find the next "Link" line, then check the value is exactly the index of .bar. +# CHECK: Link +# CHECK-SAME: : 1{{$}} |