llvm/lld/test/ELF/undef-not-suggest.test

## Check we don't suggest alternative spelling for relocations to symbols
## defined in discarded sections.

# RUN: yaml2obj %s -o %t.o
# RUN: not ld.lld %t.o %t.o -o /dev/null 2>&1 | FileCheck %s

# CHECK-NOT: did you mean:

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name: .group
    Type: SHT_GROUP
    Link: .symtab
    Info: foo
    Members:
      - SectionOrType: GRP_COMDAT
      - SectionOrType: .text.foo
  - Name:  .text.foo
    Type:  SHT_PROGBITS
    Flags: [ SHF_ALLOC, SHF_EXECINSTR, SHF_GROUP ]
  - Name:  .rodata
    Type:  SHT_PROGBITS
    Flags: [ SHF_ALLOC ]
  - Name: .rela.rodata
    Type: SHT_RELA
    Link: .symtab
    Info: .rodata
    Relocations:
      ## Relocation which references ".text.foo". Check we don't suggest the
      ## section symbol for ".data", which has an empty name.
      - Type:   R_X86_64_64
        ## .text.foo
        Symbol: 1
      ## Relocation which references "foo". Check we don't suggest "for".
      - Type:   R_X86_64_64
        Symbol: foo
  - Name: .data
    Type: SHT_PROGBITS
Symbols:
  - Name:    ""
    Type:    STT_SECTION
    Section: .text.foo
  - Name:    ""
    Type:    STT_SECTION
    Section: .data
  - Name:    foo
    Section: .text.foo
    Binding: STB_GLOBAL
  - Name:    for
    Section: .data

## Check we don't suggest an empty name symbol (e.g. STT_SECTION).

# RUN: yaml2obj --docnum=2 %s -o %t2.o
# RUN: not ld.lld %t2.o -o /dev/null 2>&1 | FileCheck %s

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  Type:    ET_REL
  Machine: EM_X86_64
Sections:
  - Name:  .text
    Type:  SHT_PROGBITS
    Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
  - Name: .rela.text
    Type:  SHT_RELA
    Info: .text
    Relocations:
      - Type:   R_X86_64_64
        Symbol: f
Symbols:
  - Name:    ""
    Type:    STT_SECTION
    Section: .text
  - Name:    f
    Binding: STB_GLOBAL