## Check we are able to use integers as both
## symbol name indices (st_name values) and symbol names.
# RUN: yaml2obj --docnum=1 %s -o %t
# RUN: llvm-readobj --symbols %t | FileCheck %s

# CHECK: Name: test (1)
# CHECK: Name: test (1)
# CHECK: Name: est (2)
# CHECK: Name: 1 (8)
# CHECK: Name: 2 (6)

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_REL
Symbols:
  - Name:   test
  - StName: 1
  - StName: 2
  - Name:   1
  - Name:   2

## Check we allow specifying both Name and StName at once.
## In this case StName has priority, but the symbol Name is still added
## to the symbol string table.

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: llvm-readobj --symbols --sections --section-data -r --expand-relocs %t2 | FileCheck %s --check-prefix=BOTH

# BOTH:      Name: .strtab
# BOTH:      SectionData (
# BOTH-NEXT:   0000: 00666F6F 00 |.foo.|
# BOTH-NEXT: )

# BOTH:       Relocations [
# BOTH-NEXT:   Section (1) .rela.data {
# BOTH-NEXT:     Relocation {
# BOTH-NEXT:       Offset: 0x0
# BOTH-NEXT:       Type: R_X86_64_NONE (0)
# BOTH-NEXT:       Symbol: - (1)
# BOTH-NEXT:       Addend: 0x0
# BOTH-NEXT:     }
# BOTH-NEXT:   }
# BOTH-NEXT: ]

# BOTH:      Symbols [
# BOTH-NEXT:   Symbol {
# BOTH-NEXT:     Name:  (0)
# BOTH-NEXT:     Value: 0x0
# BOTH-NEXT:     Size: 0
# BOTH-NEXT:     Binding: Local (0x0)
# BOTH-NEXT:     Type: None (0x0)
# BOTH-NEXT:     Other: 0
# BOTH-NEXT:     Section: Undefined (0x0)
# BOTH-NEXT:   }
# BOTH-NEXT:   Symbol {
# BOTH-NEXT:     Name:  (0)
# BOTH-NEXT:     Value: 0x0
# BOTH-NEXT:     Size: 0
# BOTH-NEXT:     Binding: Local (0x0)
# BOTH-NEXT:     Type: None (0x0)
# BOTH-NEXT:     Other: 0
# BOTH-NEXT:     Section: Undefined (0x0)
# BOTH-NEXT:   }
# BOTH-NEXT: ]

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: .rela.data
    Type: SHT_RELA
    Relocations:
      - Type:   R_X86_64_NONE
        Symbol: foo
Symbols:
  - Name:   foo
    StName: 0
