mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
This is a resubmission of a previous patch that caused test failures, with the fixes for the relevant tests included. Fixes bug 40630: https://bugs.llvm.org/show_bug.cgi?id=40630 This patch changes the error message when the section specified by --string-dump cannot be found by including the name of the section in the error message and changing the prefix text to not imply that the file itself was invalid. As part of this change some uses of std::error_code have been replaced with the llvm Error class to better encapsulate the error info (rather than passing File strings around), and the WithColor class replaces string literal error prefixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358395 91177308-0d34-0410-b5e6-96231b3b80d8
73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
// Section name offset overflows section name string table.
|
|
RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -sections \
|
|
RUN: 2>&1 | FileCheck --check-prefix=SECNAME %s
|
|
|
|
SECNAME: invalid string offset
|
|
|
|
|
|
// Section data offset past end of file.
|
|
RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -sections -section-data \
|
|
RUN: 2>&1 | FileCheck --check-prefix=SECDATA %s
|
|
|
|
SECDATA: invalid section offset
|
|
|
|
|
|
// Symbol name offset overflows string table.
|
|
RUN: not llvm-readobj %p/Inputs/corrupt.elf-x86-64 -symbols \
|
|
RUN: 2>&1 | FileCheck --check-prefix=SYMNAME %s
|
|
|
|
SYMNAME: invalid string offset
|
|
|
|
|
|
// Version index in .gnu.version overflows the version map.
|
|
RUN: not llvm-readobj %p/Inputs/corrupt-version.elf-x86_64 -dt \
|
|
RUN: 2>&1 | FileCheck --check-prefix=VER %s
|
|
|
|
VER: error: Invalid version entry
|
|
|
|
|
|
// The file is missing the dynamic string table but has references to it.
|
|
RUN: not llvm-readobj -dynamic-table %p/Inputs/corrupt-invalid-strtab.elf.x86-64 \
|
|
RUN: 2>&1 | FileCheck --check-prefix=STRTAB %s
|
|
|
|
STRTAB: Invalid dynamic string table reference
|
|
|
|
RUN: not llvm-readobj -program-headers \
|
|
RUN: %p/Inputs/corrupt-invalid-phentsize.elf.x86-64 2>&1 | \
|
|
RUN: FileCheck --check-prefix=PHENTSIZE %s
|
|
|
|
PHENTSIZE: invalid e_phentsize
|
|
|
|
RUN: not llvm-readobj -dynamic-table \
|
|
RUN: %p/Inputs/corrupt-invalid-virtual-addr.elf.x86-64 2>&1 | \
|
|
RUN: FileCheck --check-prefix=VIRTADDR %s
|
|
|
|
VIRTADDR: Virtual address is not in any segment
|
|
|
|
|
|
RUN: not llvm-readobj -dyn-relocations \
|
|
RUN: %p/Inputs/corrupt-invalid-relocation-size.elf.x86-64 2>&1 | \
|
|
RUN: FileCheck --check-prefix=RELOC %s
|
|
|
|
RELOC: Invalid entity size
|
|
|
|
RUN: not llvm-readobj -dyn-relocations \
|
|
RUN: %p/Inputs/corrupt-invalid-dynamic-table-size.elf.x86-64 2>&1 | \
|
|
RUN: FileCheck --check-prefix=DYN-TABLE-SIZE %s
|
|
|
|
DYN-TABLE-SIZE: Invalid entity size
|
|
|
|
|
|
RUN: not llvm-readobj -dyn-relocations \
|
|
RUN: %p/Inputs/corrupt-invalid-dynamic-table-offset.elf.x86-64 2>&1 | \
|
|
RUN: FileCheck --check-prefix=DYN-TABLE-OFFSET %s
|
|
|
|
DYN-TABLE-OFFSET: error: Invalid data was encountered while parsing the file
|
|
|
|
|
|
RUN: not llvm-readobj -dyn-relocations \
|
|
RUN: %p/Inputs/corrupt-invalid-dynamic-table-too-large.elf.x86-64 2>&1 | \
|
|
RUN: FileCheck --check-prefix=DYN-TABLE-TOO-LARGE %s
|
|
|
|
DYN-TABLE-TOO-LARGE: error: Invalid data was encountered while parsing the file
|