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

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 23 04:19:51 PDT 2019


Author: grimar
Date: Tue Apr 23 04:19:51 2019
New Revision: 358972

URL: http://llvm.org/viewvc/llvm-project?rev=358972&view=rev
Log:
[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.

Added:
    lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.test
      - copied, changed from r358971, lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s
Removed:
    lld/trunk/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf
    lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s

Removed: lld/trunk/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf?rev=358971&view=auto
==============================================================================
Binary file - no diff available.

Removed: lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s?rev=358971&view=auto
==============================================================================
--- lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s (original)
+++ lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s (removed)
@@ -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

Copied: lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.test (from r358971, lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s)
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.test?p2=lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.test&p1=lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s&r1=358971&r2=358972&rev=358972&view=diff
==============================================================================
--- lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.s (original)
+++ lld/trunk/test/ELF/invalid/mips-invalid-options-descriptor.test Tue Apr 23 04:19:51 2019
@@ -1,5 +1,21 @@
-## 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
+# 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'




More information about the llvm-commits mailing list