# RUN: yaml2obj --docnum=1 %s -o %t1.o # RUN: not ld.lld %t1.o -o /dev/null 2>&1 | FileCheck %s # CHECK: error: {{.*}}.o: unsupported relocation reference --- !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: 0 Relocations: - Symbol: foo Type: R_X86_64_64 Symbols: - Name: foo Binding: STB_GLOBAL # RUN: yaml2obj --docnum=2 %s -o %t2.o # RUN: not ld.lld %t2.o -o /dev/null 2>&1 | FileCheck %s --check-prefix=ERR2 # ERR2: error: {{.*}}.o: invalid relocated section index: 99 --- !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: 99 Relocations: - Symbol: foo Type: R_X86_64_64 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 /dev/null 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 Info: .text Relocations: - Symbol: 255 Type: R_X86_64_64