## For implicit dynamic symbol table sections, `Link` field can also
## be specified in YAML. Here we test the behavior in different cases.

## Check we are able to set Link = 0 for .dynsym explicitly.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj %t1 -S | FileCheck %s --check-prefix=CASE1

# CASE1: Name: .dynsym
# CASE1: Link:
# CASE1-SAME: 0

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .dynsym
    Type: SHT_DYNSYM
    Link: 0

## Check that by default .dynsym will be linked to .dynstr
## if the latter exists.

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: llvm-readobj %t2 -S | FileCheck %s --check-prefix=CASE2

# CASE2:      .dynsym
# CASE2:      Link:
# CASE2-SAME: 2
# CASE2:      Index: 2
# CASE2-NEXT: Name: .dynstr

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .dynsym
    Type: SHT_DYNSYM
  - Name: .dynstr
    Type: SHT_STRTAB

## Even if .dynstr exists, we can explicitly link .dynsym
## to another section.

# RUN: yaml2obj --docnum=3 %s -o %t3
# RUN: llvm-readobj %t3 -S | FileCheck %s --check-prefix=CASE3

# CASE3:      .dynsym
# CASE3:      Link:
# CASE3-SAME: 3
# CASE3:      Index: 3
# CASE3-NEXT: Name: .foo

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .dynsym
    Type: SHT_DYNSYM
    Link: 3
  - Name: .dynstr
    Type: SHT_STRTAB
  - Name: .foo
    Type: SHT_PROGBITS

## Check we can use a section name as a Link value for .dynsym.

# RUN: yaml2obj --docnum=4 %s -o %t4
# RUN: llvm-readobj %t4 -S | FileCheck %s --check-prefix=CASE4

# CASE4:      .dynsym
# CASE4:      Link:
# CASE4-SAME: 2
# CASE4:      Index: 2
# CASE4-NEXT: Name: .foo

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .dynsym
    Type: SHT_DYNSYM
    Link: .foo
  - Name: .foo
    Type: SHT_PROGBITS
