[LLD][ELF] - Fix mips-invalid-options-descriptor.s test case and convert to YAML.

It was initially introduced in D25229 to report the "zero option descriptor size"
error message. In following commits it was broken and did not report this
error anymore. I think that happened because elf object was a result of fuzzing
and it was broken in many ways.

This patch converts this test to a YAML, removes a binary and hence fixes the
original intention.

llvm-svn: 358972
This commit is contained in:
George Rimar 2019-04-23 11:19:51 +00:00
parent d2e2e20de3
commit 6684a351ed
3 changed files with 21 additions and 5 deletions

View File

@ -1,5 +0,0 @@
## mips-invalid-options-descriptor.elf has option descriptor in
## .MIPS.options with size of zero.
# RUN: not ld.lld %p/Inputs/mips-invalid-options-descriptor.elf -o /dev/null 2>&1 | \
# RUN: FileCheck %s
# CHECK: error: {{.*}}: invalid section offset

View File

@ -0,0 +1,21 @@
# RUN: yaml2obj %s -o %t1.o
# RUN: not ld.lld %t1.o -o %t 2>&1 | FileCheck %s
# CHECK: error: {{.*}}1.o: zero option descriptor size
## YAML has a description of ODK_NULL (Undefined) MIPS option,
## with a size of zero. We do not allow options with a zero size.
## Check we report it.
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2MSB
Type: ET_REL
Machine: EM_MIPS
Flags: [ EF_MIPS_CPIC, EF_MIPS_ARCH_64 ]
Sections:
- Name: .MIPS.options
Type: SHT_MIPS_OPTIONS
Flags: [ SHF_ALLOC, SHF_MIPS_NOSTRIP ]
AddressAlign: 0x0000000000000008
Content: '0000000000000000'