forked from OSchip/llvm-project
bb94611d65
When loading split debug files for PE/COFF executables (produced with `objcopy --only-keep-debug`), the tables or directories in such files may point to data inside sections that may have been stripped. COFFObjectFile shall detect and gracefully handle this, to allow the object file be loaded without considering these tables or directories. This is required for LLDB to load these files for use as debug symbols. COFFObjectFile shall also check these pointers more carefully to account for cases in which the section contains less raw data than the size given by VirtualSize, to prevent going out of bounds. This commit also changes COFFDump in llvm-objdump to reuse the pointers that are already range-checked in COFFObjectFile. This fixes a crash when trying to dump the TLS directory from a stripped file. Fixes https://github.com/mstorsjo/llvm-mingw/issues/284 Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D126898 |
||
---|---|---|
.. | ||
AArch64 | ||
AMDGPU | ||
ARM | ||
BPF | ||
Inputs | ||
Lanai | ||
Mips | ||
RISCV | ||
X86 | ||
ar-create.test | ||
ar-error.test | ||
archive-big-extract.test | ||
archive-big-print.test | ||
archive-big-read.test | ||
archive-darwin-duplicates.test | ||
archive-delete.test | ||
archive-error-tmp.txt | ||
archive-extract-dir.test | ||
archive-extract.test | ||
archive-format.test | ||
archive-long-filenames-no-null-terminator.test | ||
archive-long-index.test | ||
archive-malformed-object.test | ||
archive-move.test | ||
archive-pad.test | ||
archive-replace-pos.test | ||
archive-symtab.test | ||
archive-thin-create.test | ||
archive-thin-paths.test | ||
archive-thin-read.test | ||
archive-toc.test | ||
archive-unknown-filetype.test | ||
archive-update.test | ||
check_binary_output.ll | ||
coff-archive-short.test | ||
coff-archive.test | ||
coff-dwarf-debug-only.test | ||
coff-empty-drectve.test | ||
coff-invalid.test | ||
coff-weak-externals.test | ||
directory.ll | ||
dllimport-globalref.ll | ||
dllimport.ll | ||
dyn-rel-relocation.test | ||
dynamic-reloc.test | ||
invalid-alignment.test | ||
invalid.test | ||
kext.test | ||
macho-invalid.test | ||
mangle-ir.ll | ||
multi-module.ll | ||
multiple-sections.yaml | ||
nm-archive.test | ||
nm-bitcode.test | ||
nm-darwin-m.test | ||
nm-error.test | ||
nm-irix6.test | ||
nm-pe-image.test | ||
nm-shared-object.test | ||
nm-tapi-invalids.test | ||
nm-tapi.test | ||
nm-trivial-object.test | ||
nm-universal-binary.test | ||
nm-weak-global-macho.test | ||
obj2yaml.test | ||
objc-imageinfo-coff.ll | ||
objc-imageinfo-elf.ll | ||
objc-imageinfo-macho.ll | ||
objc-swift-mixed-imageinfo-macho.ll | ||
objdump-export-list.test | ||
objdump-no-sectionheaders.test | ||
objdump-private-headers.test | ||
objdump-relocations.test | ||
objdump-section-content.test | ||
objdump-sectionheaders.test | ||
objdump-symbol-table.test | ||
pr25877.test | ||
relocation-executable.test | ||
simple-archive.test | ||
size-trivial-macho.test | ||
stackmap-dump.test | ||
wasm-bad-data-symbol.yaml | ||
wasm-bad-metadata-version.yaml | ||
wasm-bad-reloc-type.test | ||
wasm-bad-symbol-type.test | ||
wasm-duplicate-name.test | ||
wasm-invalid-file.yaml | ||
wasm-invalid-section-order.test | ||
wasm-invalid-start.test | ||
wasm-missing-version.test | ||
wasm-relocs-and-producers.yaml | ||
wasm-string-outside-section.test | ||
yaml2obj-elf-rel-noref.yaml | ||
yaml2obj-elf-rel.yaml | ||
yaml2obj-readobj.test |