## Test that llvm-objdump can handle SHN_XINDEX. The relocation points to a section
## symbol that has st_shndx == SHN_XINDEX. To print the section name llvm-objdump
## has to use the SHT_SYMTAB_SHNDX section.

# RUN: yaml2obj %s -o %t
# RUN: llvm-objdump -r %t | FileCheck %s

# CHECK:      RELOCATION RECORDS FOR [.text]:
# CHECK-NEXT: OFFSET           TYPE                     VALUE
# CHECK-NEXT: 0000000000000000 R_X86_64_32              bar

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: .text
    Type: SHT_PROGBITS
  - Name: .rela.text
    Type: SHT_RELA
    Info: .text
    Relocations:
      - Offset: 0x0000000000000000
        Symbol: bar
        Type:   R_X86_64_32
  - Name: bar
    Type: SHT_PROGBITS
  - Name:    .symtab_shndx
    Type:    SHT_SYMTAB_SHNDX
    Link:    .symtab
    Entries: [ 0, 3 ]
Symbols:
  - Name:  bar
    Type:  STT_SECTION
    Index: SHN_XINDEX
