[llvm] r364522 - [Object/invalid.test] - Convert most of the sub tests to YAML.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 27 04:31:43 PDT 2019


Author: grimar
Date: Thu Jun 27 04:31:43 2019
New Revision: 364522

URL: http://llvm.org/viewvc/llvm-project?rev=364522&view=rev
Log:
[Object/invalid.test] - Convert most of the sub tests to YAML.

Object/invalid.test is a test case that is used to check the behavior of tools
when broken inputs are used.

The most often tool tested there is llvm-readobj. I think we might want to move
such tests to test\tools\llvm-readobj. For now this patch converts
many sub-tests to use YAML and removes 12 binaries from the inputs.

Differential revision: https://reviews.llvm.org/D63762

Removed:
    llvm/trunk/test/Object/Inputs/invalid-bad-rel-type.elf
    llvm/trunk/test/Object/Inputs/invalid-buffer.elf
    llvm/trunk/test/Object/Inputs/invalid-rel-sym.elf
    llvm/trunk/test/Object/Inputs/invalid-section-index.elf
    llvm/trunk/test/Object/Inputs/invalid-section-size.elf
    llvm/trunk/test/Object/Inputs/invalid-sections-num.elf
    llvm/trunk/test/Object/Inputs/invalid-sh_entsize.elf
    llvm/trunk/test/Object/Inputs/invalid-strtab-non-null.elf
    llvm/trunk/test/Object/Inputs/invalid-strtab-type.elf
    llvm/trunk/test/Object/Inputs/invalid-strtab-zero-size.elf
    llvm/trunk/test/Object/Inputs/invalid-symbol-table-size.elf
    llvm/trunk/test/Object/Inputs/invalid-xindex-size.elf
Modified:
    llvm/trunk/test/Object/invalid.test

Removed: llvm/trunk/test/Object/Inputs/invalid-bad-rel-type.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-bad-rel-type.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-bad-rel-type.elf (original) and llvm/trunk/test/Object/Inputs/invalid-bad-rel-type.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-buffer.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-buffer.elf?rev=364521&view=auto
==============================================================================
--- llvm/trunk/test/Object/Inputs/invalid-buffer.elf (original)
+++ llvm/trunk/test/Object/Inputs/invalid-buffer.elf (removed)
@@ -1 +0,0 @@
-ELF            
\ No newline at end of file

Removed: llvm/trunk/test/Object/Inputs/invalid-rel-sym.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-rel-sym.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-rel-sym.elf (original) and llvm/trunk/test/Object/Inputs/invalid-rel-sym.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-section-index.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-section-index.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-section-index.elf (original) and llvm/trunk/test/Object/Inputs/invalid-section-index.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-section-size.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-section-size.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-section-size.elf (original) and llvm/trunk/test/Object/Inputs/invalid-section-size.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-sections-num.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-sections-num.elf?rev=364521&view=auto
==============================================================================
Binary file - no diff available.

Removed: llvm/trunk/test/Object/Inputs/invalid-sh_entsize.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-sh_entsize.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-sh_entsize.elf (original) and llvm/trunk/test/Object/Inputs/invalid-sh_entsize.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-strtab-non-null.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-strtab-non-null.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-strtab-non-null.elf (original) and llvm/trunk/test/Object/Inputs/invalid-strtab-non-null.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-strtab-type.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-strtab-type.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-strtab-type.elf (original) and llvm/trunk/test/Object/Inputs/invalid-strtab-type.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-strtab-zero-size.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-strtab-zero-size.elf?rev=364521&view=auto
==============================================================================
Binary file - no diff available.

Removed: llvm/trunk/test/Object/Inputs/invalid-symbol-table-size.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-symbol-table-size.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-symbol-table-size.elf (original) and llvm/trunk/test/Object/Inputs/invalid-symbol-table-size.elf (removed) differ

Removed: llvm/trunk/test/Object/Inputs/invalid-xindex-size.elf
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/Inputs/invalid-xindex-size.elf?rev=364521&view=auto
==============================================================================
Binary files llvm/trunk/test/Object/Inputs/invalid-xindex-size.elf (original) and llvm/trunk/test/Object/Inputs/invalid-xindex-size.elf (removed) differ

Modified: llvm/trunk/test/Object/invalid.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/invalid.test?rev=364522&r1=364521&r2=364522&view=diff
==============================================================================
--- llvm/trunk/test/Object/invalid.test (original)
+++ llvm/trunk/test/Object/invalid.test Thu Jun 27 04:31:43 2019
@@ -1,84 +1,308 @@
-RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-type.elf 2>&1 | FileCheck %s
-RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-size.elf 2>&1 | FileCheck %s
-RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-zero-size.elf 2>&1 | FileCheck %s
-CHECK: Invalid data was encountered while parsing the file
-
-RUN: not llvm-dwarfdump -debug-line %p/Inputs/invalid-bad-rel-type.elf 2>&1 | FileCheck --check-prefix=RELA %s
-RELA: Section is not SHT_RELA
-
-RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-non-null.elf 2>&1 | FileCheck --check-prefix=NON-NULL %s
-NON-NULL: Invalid data was encountered while parsing the file
-
-Test the sh_entsize are invalid
-RUN: llvm-readobj -S %p/Inputs/invalid-sh_entsize.elf | FileCheck --check-prefix=SECTION %s
-
-SECTION:         Name: .dynsym
-SECTION-NEXT:    Type: SHT_DYNSYM
-SECTION-NEXT:    Flags [
-SECTION-NEXT:      SHF_ALLOC
-SECTION-NEXT:    ]
-SECTION-NEXT:    Address:
-SECTION-NEXT:    Offset:
-SECTION-NEXT:    Size:
-SECTION-NEXT:    Link:
-SECTION-NEXT:    Info:
-SECTION-NEXT:    AddressAlignment:
-SECTION-NEXT:    EntrySize: 32
-
-SECTION:         Name: .symtab
-SECTION-NEXT:    Type: SHT_SYMTAB
-SECTION-NEXT:    Flags [
-SECTION-NEXT:    ]
-SECTION-NEXT:    Address:
-SECTION-NEXT:    Offset:
-SECTION-NEXT:    Size:
-SECTION-NEXT:    Link:
-SECTION-NEXT:    Info:
-SECTION-NEXT:    AddressAlignment:
-SECTION-NEXT:    EntrySize: 32
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-sh_entsize.elf 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s
-INVALID-SYM-SIZE: invalid sh_entsize
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-section-index.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-INDEX %s
-INVALID-SECTION-INDEX: invalid section index
-
-RUN: not llvm-readobj -S %p/Inputs/invalid-section-size.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-SIZE %s
-INVALID-SECTION-SIZE: invalid section header entry size (e_shentsize) in ELF header
-
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-symbol-table-size.elf 2>&1 | FileCheck --check-prefix=INVALID-SYMTAB-SIZE %s
-INVALID-SYMTAB-SIZE: size is not a multiple of sh_entsize
-
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-xindex-size.elf 2>&1 | FileCheck --check-prefix=INVALID-XINDEX-SIZE %s
-INVALID-XINDEX-SIZE: invalid section contents size
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-e_shnum.elf 2>&1 | FileCheck --check-prefix=INVALID-SH-NUM %s
-INVALID-SH-NUM: invalid e_phentsize
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-ext-symtab-index.elf-x86-64 2>&1 | \
-RUN:   FileCheck --check-prefix=INVALID-EXT-SYMTAB-INDEX %s
-INVALID-EXT-SYMTAB-INDEX: index past the end of the symbol table
-
-RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-i386 2>&1 | \
-RUN:   FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s
-RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-x86-64 2>&1 | \
-RUN:   FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s
-INVALID-RELOC-SH-OFFSET: invalid section offset
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-section-size2.elf 2>&1 | \
-RUN:   FileCheck --check-prefix=INVALID-SECTION-SIZE2 %s
-INVALID-SECTION-SIZE2: invalid section offset
-
-RUN: not llvm-readobj --symbols %p/Inputs/invalid-sections-num.elf 2>&1 | FileCheck --check-prefix=INVALID-SECTION-NUM %s
-INVALID-SECTION-NUM: section table goes past the end of file
+## Check that llvm-objdump reports an error when
+## .shstrtab has an invalid type.
 
-RUN: not llvm-readobj -r %p/Inputs/invalid-rel-sym.elf 2>&1 | FileCheck --check-prefix=INVALID-REL-SYM %s
-INVALID-REL-SYM: invalid section offset
+# RUN: yaml2obj %s --docnum=1 -o %t1
+# RUN: not llvm-objdump -s %t1 2>&1 | FileCheck %s --check-prefix=INVALIDERR
 
-RUN: not llvm-readobj -r %p/Inputs/invalid-buffer.elf 2>&1 | FileCheck --check-prefix=INVALID-BUFFER %s
-INVALID-BUFFER: Invalid buffer
+# INVALIDERR: Invalid data was encountered while parsing the file
 
-RUN: not llvm-readobj %p/Inputs/invalid-coff-header-too-small 2>&1 | FileCheck --check-prefix=COFF-HEADER %s
-COFF-HEADER: The file was not recognized as a valid object file
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .shstrtab
+    Type: SHT_PROGBITS
+
+## Check that llvm-objdump reports an error when
+## .shstrtab has an invalid zero-size.
+
+# RUN: yaml2obj %s --docnum=2 -o %t2
+# RUN: not llvm-objdump -s %t2 2>&1 | FileCheck %s --check-prefix=INVALIDERR
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .shstrtab
+    Type: SHT_STRTAB
+    Size: 0
+
+## Check that llvm-objdump reports an error when .shstrtab has an invalid
+## size that goes past the end of the file.
+
+# RUN: not llvm-objdump -s %p/Inputs/invalid-strtab-size.elf 2>&1 \
+# RUN:   | FileCheck %s --check-prefix=INVALIDERR
+
+## Check that llvm-dwarfdump reports an error during relocation resolution
+## when instead of expected SHT_RELA section it locates a section of a different type.
+
+# RUN: yaml2obj %s --docnum=3 -o %t3
+# RUN: not llvm-dwarfdump -debug-line %t3 2>&1 | FileCheck --check-prefix=RELA %s
+
+# RELA: Section is not SHT_RELA
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+Sections:
+  - Name: .debug_line
+    Type: SHT_PROGBITS
+## The exact content does not matter here. We can use any minimal valid debug section
+## which is a target for relocation. The idea is to trigger the code that reads the
+## relocation's addend during relocation resolution. It should fail if called on
+## a non-SHT_RELA section.
+    Content: 380000000200210000000101FB0E0D00010101010000000100000100676C6F62616C2E63707000000000000009020000000000000000130237000101
+  - Name: .rela.debug_line
+    Type: SHT_REL
+    Info: .debug_line
+    Relocations:
+      - Offset: 0x000000000000002E
+        Type:   R_X86_64_64
+
+## Check that llvm-objdump reports an error when it tries to dump section names
+## and .shstrtab is not null-terminated.
+
+# RUN: yaml2obj %s --docnum=4 -o %t4
+# RUN: not llvm-objdump -s %t4 2>&1 | FileCheck --check-prefix=INVALIDERR %s
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .shstrtab
+    Type: SHT_STRTAB
+    Content: "11"
+
+## Check that llvm-objdump reports an error when it tries to dump a symbol name and
+## .strtab is not null-terminated.
+
+# RUN: yaml2obj %s --docnum=5 -o %t5
+# RUN: not llvm-objdump -syms %t5 2>&1 | FileCheck --check-prefix=NONULL %s
+
+# NONULL: string table non-null terminated
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .strtab
+    Type: SHT_STRTAB
+    Content: "11"
+Symbols:
+  - Name: foo
+
+## Check that llvm-readobj reports an error if .symtab has an invalid sh_entsize.
+
+# RUN: yaml2obj %s --docnum=6 -o %t6
+# RUN: not llvm-readobj --symbols %t6 2>&1 | FileCheck --check-prefix=INVALID-SYM-SIZE %s
+
+# INVALID-SYM-SIZE: invalid sh_entsize
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .symtab
+    Type: SHT_SYMTAB
+    EntSize: 32
+Symbols:
+  - Name: foo
+
+## Check that llvm-readobj reports an error if .dynsym has an invalid sh_entsize.
+
+# RUN: yaml2obj %s --docnum=7 -o %t7
+# RUN: not llvm-readobj --dyn-symbols %t7 2>&1 | FileCheck --check-prefix=INVALID-DYNSYM-SIZE %s
+
+# INVALID-DYNSYM-SIZE: error: Invalid entity size
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .dynsym
+    Type: SHT_DYNSYM
+    EntSize: 32
+DynamicSymbols:
+  - Name: foo
+
+## Check that llvm-readobj reports an error if .symtab has an invalid sh_link value,
+## which is greater than number of sections.
+
+# RUN: yaml2obj %s --docnum=8 -o %t8
+# RUN: not llvm-readobj --symbols %t8 2>&1 | FileCheck --check-prefix=INVALID-SYMTAB-LINK %s
+
+# INVALID-SYMTAB-LINK: invalid section index
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+Sections:
+  - Name: .symtab
+    Type: SHT_SYMTAB
+    Link: 0xFF
+
+## Check that llvm-readobj reports an error when trying to dump sections
+## when the e_shentsize field is broken.
+
+# RUN: yaml2obj %s --docnum=9 -o %t9
+# RUN: not llvm-readobj -S %t9 2>&1 | FileCheck --check-prefix=INVALID-SH-ENTSIZE %s
+
+# INVALID-SH-ENTSIZE: invalid section header entry size (e_shentsize) in ELF header
+
+--- !ELF
+FileHeader:
+  Class:     ELFCLASS64
+  Data:      ELFDATA2LSB
+  Type:      ET_REL
+  Machine:   EM_X86_64
+  SHEntSize: 1
+
+## Check that llvm-readobj reports an error if .symtab has sh_size
+## that is not a multiple of sh_entsize.
+
+# RUN: yaml2obj %s --docnum=10 -o %t10
+# RUN: not llvm-readobj --symbols %t10 2>&1 | FileCheck --check-prefix=INVALID-SYMTAB-SIZE %s
+
+# INVALID-SYMTAB-SIZE: size is not a multiple of sh_entsize
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .symtab
+    Type: SHT_SYMTAB
+    Size: 1
+
+## Test that llvm-readobj reports an error if SHT_SYMTAB_SHNDX section has
+## invalid sh_size which should be:
+## sizeof(.symtab_shndx) = (sizeof(.symtab) / entsize(.symtab)) * entsize(.symtab_shndx)
+
+# RUN: yaml2obj %s --docnum=11 -o %t11
+# RUN: not llvm-readobj --symbols %t11 2>&1 | FileCheck --check-prefix=INVALID-XINDEX-SIZE %s
+
+# INVALID-XINDEX-SIZE: invalid section contents size
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .symtab_shndx
+    Type: SHT_SYMTAB_SHNDX
+    Size: 0x18
+    EntSize: 4
+    Link: .symtab
+
+## Check that llvm-readobj reports an error if the e_phentsize field is broken.
+
+# RUN: not llvm-readobj --program-headers %p/Inputs/invalid-e_shnum.elf 2>&1 | \
+# RUN:  FileCheck --check-prefix=INVALID-PH-ENTSIZE %s
+
+# INVALID-PH-ENTSIZE: invalid e_phentsize
+
+## Check that llvm-readobj reports an error when we have no SHT_SYMTAB_SHNDX section,
+## but have a symbol referencing it.
+
+# RUN: not llvm-readobj --symbols %p/Inputs/invalid-ext-symtab-index.elf-x86-64 2>&1 | \
+# RUN:   FileCheck --check-prefix=INVALID-EXT-SYMTAB-INDEX %s
+
+# INVALID-EXT-SYMTAB-INDEX: index past the end of the symbol table
+
+## Check that llvm-readobj reports an error if a relocation section
+## has a broken sh_offset (past the end of the file).
+
+# RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-i386 2>&1 | \
+# RUN:   FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s
+# RUN: not llvm-readobj -r %p/Inputs/invalid-relocation-sec-sh_offset.elf-x86-64 2>&1 | \
+# RUN:   FileCheck --check-prefix=INVALID-RELOC-SH-OFFSET %s
+
+# INVALID-RELOC-SH-OFFSET: invalid section offset
+
+## Check that llvm-objdump reports an error when .shstrtab has a broken sh_offset
+## so large that sh_offset + sh_size overflows the platform address size type.
+
+# RUN: not llvm-readobj --symbols %p/Inputs/invalid-section-size2.elf 2>&1 | \
+# RUN:   FileCheck --check-prefix=INVALID-SECTION-SIZE2 %s
+
+# INVALID-SECTION-SIZE2: invalid section offset
+
+## Check that llvm-readobj reports an error when trying to dump sections
+## when the e_shnum field is broken (is greater than the actual number of sections).
+
+# RUN: yaml2obj %s --docnum=12 -o %t12
+# RUN: not llvm-readobj -S %t12 2>&1 | FileCheck --check-prefix=INVALID-SECTION-NUM %s
+
+# INVALID-SECTION-NUM: section table goes past the end of file
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+  SHNum:   0xFF
+
+## Check that llvm-readobj reports an error if a relocation contains an
+## incorrect (too large) symbol index.
+
+# RUN: yaml2obj %s --docnum=13 -o %t13
+# RUN: not llvm-readobj -r %t13 2>&1 | FileCheck --check-prefix=INVALID-REL-SYM %s
+
+# INVALID-REL-SYM: invalid section offset
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+Sections:
+  - Name: .rela.text
+    Type: SHT_RELA
+    Info: 0
+    Relocations:
+      - Offset: 0x0
+        Type:   R_X86_64_64
+        Symbol: 0xFFFFFF
+
+## Check llvm-readobj does not crash on a truncated ELF.
+
+## Create a truncated ELF object with ELFCLASSNONE class using echo.
+## 0x7f, 'E', 'L', 'F', ELFCLASS64(2), ELFDATA2LSB(1),
+## EV_CURRENT(1), ELFOSABI_LINUX(3), <padding zero bytes>, ET_REL(1), EM_NONE(0)
+# RUN: echo -e -n "\x7f\x45\x4c\x46\x02\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00" > %t11
+# RUN: not llvm-readobj -r %t11 2>&1 | FileCheck --check-prefix=INVALID-BUFFER %s
+
+# INVALID-BUFFER: Invalid buffer
+
+# RUN: not llvm-readobj %p/Inputs/invalid-coff-header-too-small 2>&1 | FileCheck --check-prefix=COFF-HEADER %s
+# COFF-HEADER: The file was not recognized as a valid object file




More information about the llvm-commits mailing list