llvm.org GIT mirror llvm / master test / tools / llvm-objcopy / ELF / linked-section.test
master

Tree @master (Download .tar.gz)

linked-section.test @masterraw · history · blame

## 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{{$}}