## Check how obj2yaml dumps the SHT_LLVM_ADDRSIG section.

## Check that when possible obj2yaml tries to produce the "Name" tag when
## dumping entries of the SHT_LLVM_ADDRSIG section. It falls back to producing
## the "Index" tag when it can't match a symbol index with a symbol table entry.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=NAME

# NAME:      - Name: .llvm_addrsig
# NAME-NEXT:   Type: SHT_LLVM_ADDRSIG
# NAME-NEXT:   Link: .symtab
# NAME-NEXT:   Symbols:
# NAME-NEXT:     - Name:  foo
# NAME-NEXT:     - Name:  bar
# NAME-NEXT:     - Index: 0x00000003
# NAME-NEXT:     - Index: 0xFFFFFFFF
# NAME:      - Name: .llvm_addrsig_unlinked
# NAME-NEXT:   Type: SHT_LLVM_ADDRSIG
# NAME-NEXT:   Symbols:
# NAME-NEXT:     - Index: 0x00000001
# NAME-NEXT:     - Index: 0x00000002
# NAME-NEXT:     - Index: 0x00000003
# NAME-NEXT:     - Index: 0xFFFFFFFF

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .llvm_addrsig
    Type: SHT_LLVM_ADDRSIG
    Symbols:
      - Index: 1
      - Index: 2
      - Index: 3
      - Index: 0xFFFFFFFF
  - Name: .llvm_addrsig_unlinked
    Type: SHT_LLVM_ADDRSIG
    Link: 0
    Symbols:
      - Index: 1
      - Index: 2
      - Index: 3
      - Index: 0xFFFFFFFF
Symbols:
  - Name:    foo
    Type:    STT_FUNC
    Binding: STB_GLOBAL
  - Name:    bar
    Type:    STT_FUNC
    Binding: STB_GLOBAL

## Check that obj2yaml dumps the SHT_LLVM_ADDRSIG section
## data using the "Content" tag when at least one of the entries is broken,
## e.g. because the entry contains a malformed uleb128 value.

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=INVALID-ENTRY

# INVALID-ENTRY:      - Name:    .llvm_addrsig
# INVALID-ENTRY-NEXT:   Type:    SHT_LLVM_ADDRSIG
# INVALID-ENTRY-NEXT:   Content: FFFFFFFFFF

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .llvm_addrsig
    Type: SHT_LLVM_ADDRSIG
    Content: "FFFFFFFFFF"

## obj2yaml produces a "Symbols" tag when describing an empty SHT_LLVM_ADDRSIG section.

# RUN: yaml2obj --docnum=3 %s -o %t3
# RUN: obj2yaml %t3 | FileCheck %s --check-prefix=EMPTY

# EMPTY:      - Name:    .llvm_addrsig
# EMPTY-NEXT:   Type:    SHT_LLVM_ADDRSIG
# EMPTY-NEXT:   Symbols: []

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name: .llvm_addrsig
    Type: SHT_LLVM_ADDRSIG
    Content: ""
