[LLD][ELF] - Fix mips-invalid-options-descriptor.s test case and convert to YAML.
authorGeorge Rimar <grimar@accesssoftek.com>
Tue, 23 Apr 2019 11:19:51 +0000 (11:19 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Tue, 23 Apr 2019 11:19:51 +0000 (11:19 +0000)
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

lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf [deleted file]
lld/test/ELF/invalid/mips-invalid-options-descriptor.s [deleted file]
lld/test/ELF/invalid/mips-invalid-options-descriptor.test [new file with mode: 0644]

diff --git a/lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf b/lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf
deleted file mode 100644 (file)
index 85feeeb..0000000
Binary files a/lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf and /dev/null differ
diff --git a/lld/test/ELF/invalid/mips-invalid-options-descriptor.s b/lld/test/ELF/invalid/mips-invalid-options-descriptor.s
deleted file mode 100644 (file)
index c05e347..0000000
+++ /dev/null
@@ -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
diff --git a/lld/test/ELF/invalid/mips-invalid-options-descriptor.test b/lld/test/ELF/invalid/mips-invalid-options-descriptor.test
new file mode 100644 (file)
index 0000000..ce797c9
--- /dev/null
@@ -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'