gdb-index-invalid-section-index.yaml 4.91 KB
# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld --gdb-index %t.o -o /dev/null

## We used to crash if a DWARFAddressRange has invalid SectionIndex (-1).
## Such DWARFAddressRange can be produced by clang -c -gdwarf-5 -gmlt before r360678.

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_X86_64
Sections:
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000010
    Content:         31C0C3
  - Name:            .debug_str_offsets
    Type:            SHT_PROGBITS
    AddressAlign:    0x0000000000000001
    Content:         '1000000005000000000000000000000000000000'
  - Name:            .rela.debug_str_offsets
    Type:            SHT_RELA
    Link:            .symtab
    AddressAlign:    0x0000000000000008
    EntSize:         0x0000000000000018
    Info:            .debug_str_offsets
    Relocations:
      - Offset:          0x0000000000000008
        Symbol:          .debug_str
        Type:            R_X86_64_32
      - Offset:          0x000000000000000C
        Symbol:          .debug_str
        Type:            R_X86_64_32
        Addend:          1
      - Offset:          0x0000000000000010
        Symbol:          .debug_str
        Type:            R_X86_64_32
        Addend:          6
  - Name:            .debug_str
    Type:            SHT_PROGBITS
    Flags:           [ SHF_MERGE, SHF_STRINGS ]
    AddressAlign:    0x0000000000000001
    EntSize:         0x0000000000000001
    Content:         00612E6363002F746D7000
  - Name:            .debug_abbrev
    Type:            SHT_PROGBITS
    AddressAlign:    0x0000000000000001
    Content:         011100252513050325721710171B25111B1206000000
  - Name:            .debug_info
    Type:            SHT_PROGBITS
    AddressAlign:    0x0000000000000001
    Content:         1B000000050001080000000001000400010000000000000000020003000000
  - Name:            .rela.debug_info
    Type:            SHT_RELA
    Link:            .symtab
    AddressAlign:    0x0000000000000008
    EntSize:         0x0000000000000018
    Info:            .debug_info
    Relocations:
      - Offset:          0x0000000000000008
        Symbol:          .debug_abbrev
        Type:            R_X86_64_32
      - Offset:          0x0000000000000011
        Symbol:          .debug_str_offsets
        Type:            R_X86_64_32
        Addend:          8
      - Offset:          0x0000000000000015
        Symbol:          .debug_line
        Type:            R_X86_64_32
  - Name:            .debug_addr
    Type:            SHT_PROGBITS
    AddressAlign:    0x0000000000000001
    Content:         0C000000050008000000000000000000
  - Name:            .rela.debug_addr
    Type:            SHT_RELA
    Link:            .symtab
    AddressAlign:    0x0000000000000008
    EntSize:         0x0000000000000018
    Info:            .debug_addr
    Relocations:
      - Offset:          0x0000000000000008
        Symbol:          .text
        Type:            R_X86_64_64
  - Name:            .debug_line
    Type:            SHT_PROGBITS
    AddressAlign:    0x0000000000000001
    Content:         2D0000000500080025000000010101FB0E0D00010101010000000100000101011F010000000002011F020F010000000000
  - Name:            .rela.debug_line
    Type:            SHT_RELA
    Link:            .symtab
    AddressAlign:    0x0000000000000008
    EntSize:         0x0000000000000018
    Info:            .debug_line
    Relocations:
      - Offset:          0x0000000000000022
        Symbol:          .debug_line_str
        Type:            R_X86_64_32
      - Offset:          0x000000000000002C
        Symbol:          .debug_line_str
        Type:            R_X86_64_32
        Addend:          5
  - Name:            .debug_line_str
    Type:            SHT_PROGBITS
    Flags:           [ SHF_MERGE, SHF_STRINGS ]
    AddressAlign:    0x0000000000000001
    EntSize:         0x0000000000000001
    Content:         2F746D7000612E636300
Symbols:
  - Name:            a.ll
    Type:            STT_FILE
    Index:           SHN_ABS
  - Name:            .text
    Type:            STT_SECTION
    Section:         .text
  - Name:            .debug_str_offsets
    Type:            STT_SECTION
    Section:         .debug_str_offsets
  - Name:            .debug_str
    Type:            STT_SECTION
    Section:         .debug_str
  - Name:            .debug_abbrev
    Type:            STT_SECTION
    Section:         .debug_abbrev
  - Name:            .debug_info
    Type:            STT_SECTION
    Section:         .debug_info
  - Name:            .debug_line
    Type:            STT_SECTION
    Section:         .debug_line
  - Name:            .debug_line_str
    Type:            STT_SECTION
    Section:         .debug_line_str
  - Name:            foo
    Type:            STT_FUNC
    Section:         .text
    Binding:         STB_GLOBAL
    Size:            0x0000000000000003
...