i386-debug-noabs.test 1.03 KB
# REQUIRES: x86

# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o /dev/null --entry 0 --fatal-warnings

## This is for https://bugs.llvm.org//show_bug.cgi?id=34852. GCC 8.0 or
## earlier have a bug which creates non-absolute R_386_GOTPC relocations
## in non-allocated sections. It is illegal, but we want to make sure that
## lld skips them instead of reporting errors.

--- !ELF
FileHeader:
  Class:           ELFCLASS32
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_386
Sections:
  - Name:            .debug_info
    Type:            SHT_PROGBITS
    AddressAlign:    0x0000000000000001
    Content:         0000000000000000
  - Name:            .rel.debug_info
    Type:            SHT_REL
    Link:            .symtab
    AddressAlign:    0x0000000000000004
    Info:            .debug_info
    Relocations:
      - Offset:          0x000000000000041F
        Symbol:          _GLOBAL_OFFSET_TABLE_
        Type:            R_386_GOTPC
Symbols:
  - Name:            _GLOBAL_OFFSET_TABLE_
    Binding:         STB_GLOBAL