diff options
-rw-r--r-- | lld/test/ELF/invalid/Inputs/symbol-index.elf | bin | 480 -> 0 bytes | |||
-rw-r--r-- | lld/test/ELF/invalid/bad-reloc-target.test | 25 | ||||
-rw-r--r-- | lld/test/ELF/invalid/symbol-index.s | 10 |
3 files changed, 25 insertions, 10 deletions
diff --git a/lld/test/ELF/invalid/Inputs/symbol-index.elf b/lld/test/ELF/invalid/Inputs/symbol-index.elf Binary files differdeleted file mode 100644 index f31ffbf602c..00000000000 --- a/lld/test/ELF/invalid/Inputs/symbol-index.elf +++ /dev/null diff --git a/lld/test/ELF/invalid/bad-reloc-target.test b/lld/test/ELF/invalid/bad-reloc-target.test index 4f42f1f8dcc..05aa2e5d6fa 100644 --- a/lld/test/ELF/invalid/bad-reloc-target.test +++ b/lld/test/ELF/invalid/bad-reloc-target.test @@ -49,3 +49,28 @@ Sections: Symbols: - Name: foo Binding: STB_GLOBAL + +## Relocation refers to a symbol with index larger than +## symbol table size. Check we report it. +# RUN: yaml2obj -docnum=3 %s -o %t2.o +# RUN: not ld.lld %t2.o -o %t2 2>&1 | FileCheck %s --check-prefix=ERR3 +# ERR3: error: {{.*}}.o: invalid symbol index + +--- !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 + Link: .symtab + Info: .text + Relocations: + - Offset: 0x0000000000000000 + Symbol: 255 + Type: R_X86_64_64 diff --git a/lld/test/ELF/invalid/symbol-index.s b/lld/test/ELF/invalid/symbol-index.s deleted file mode 100644 index e3989b4e1ad..00000000000 --- a/lld/test/ELF/invalid/symbol-index.s +++ /dev/null @@ -1,10 +0,0 @@ -## symbol-index.elf has incorrect type of .symtab section. -## There is no symbol bodies because of that and any symbol index becomes incorrect. -## Section Headers: -## [Nr] Name Type Address Off Size ES Flg Lk Inf Al -## [ 0] NULL 0000000000000000 000000 000000 00 0 0 0 -## ... -## [ 4] .symtab RELA 0000000000000000 000048 000030 18 1 2 8 -# RUN: not ld.lld %p/Inputs/symbol-index.elf -o /dev/null 2>&1 | \ -# RUN: FileCheck --check-prefix=INVALID-SYMBOL-INDEX %s -# INVALID-SYMBOL-INDEX: invalid symbol index |