llvm-project/llvm/test/tools/llvm-readobj
Alexandre Ganea 120366edc7 [CodeView] Fix cycles in debug info when merging Types with global hashes
When type streams with forward references were merged using GHashes, cycles 
were introduced in the debug info. This was caused by 
GlobalTypeTableBuilder::insertRecordAs() not inserting the record on the second
pass, thus yielding an empty ArrayRef at that record slot. Later on, upon PDB 
emission, TpiStreamBuilder::commit() would skip that empty record, thus 
offseting all indices that came after in the stream. 

This solution comes in two steps: 

1. Fix the hash calculation, by doing a multiple-step resolution, iff there are
forward references in the input stream.
2. Fix merge by resolving with multiple passes, therefore moving records with
forward references at the end of the stream. 

This patch also adds support for llvm-readoj --codeview-ghash.
Finally, fix dumpCodeViewMergedTypes() which previously could reference deleted
memory. 

Fixes PR40221 

Differential Revision: https://reviews.llvm.org/D57790 

llvm-svn: 353412
2019-02-07 15:24:18 +00:00
..
ARM
Inputs [WebAssembly] Store section alignment as a power of 2 2019-01-16 01:34:48 +00:00
all.test [llvm-readelf] Make llvm-readelf more compatible with GNU readelf. 2018-11-12 18:02:38 +00:00
amdgpu-elf-definitions.test
arm64-win-error1.s [AArch64] [Windows] Misc fixes for llvm-readobj -unwind. 2018-11-02 19:59:08 +00:00
arm64-win-error2.s [ARM64][Windows] Add unwind support to llvm-readobj 2018-10-24 00:03:34 +00:00
arm64-win-error3.s [ARM64][Windows] Add unwind support to llvm-readobj 2018-10-24 00:03:34 +00:00
basic.test
bigobj.test
broken-group.test
codeview-inlinees.test
codeview-inlining.test
codeview-label.test
codeview-linetables.test
codeview-merging-anon.test
codeview-merging-cycle.test [DebugInfo] Common behavior for error types 2018-08-31 17:41:58 +00:00
codeview-merging-ghash.test [CodeView] Fix cycles in debug info when merging Types with global hashes 2019-02-07 15:24:18 +00:00
codeview-merging-unsorted.test
codeview-merging.test
codeview-types.test
codeview-vftable.test
coff-arm-baserelocs.test
coff-basereloc.test
coff-const-import.test
coff-debug-directory.test
coff-directives.test
coff-exports-implib.test
coff-exports.test
coff-file-sections-reading.test
coff-load-config.test
coff-needed-libs.test
coff-non-null-terminated-file.test
coff-resources.test
coff-zero-string-table.test
cxx-cli-aux.test
demangle.test [llvm-readelf] Don't suppress static symbol table with --dyn-symbols + --symbols 2019-01-23 16:15:39 +00:00
dyn-symbols.test [llvm-readelf] Allow single-letter flags to be merged. 2019-01-15 17:04:40 +00:00
dynamic.test
elf-dtflags.test
elf-gnuhash.test
elf-groups.test
elf-hash-histogram.test
elf-linker-options.ll
elf-packed-relocs-empty.s
elf-packed-relocs-error1.s
elf-packed-relocs-error2.s
elf-packed-relocs-error3.s
elf-packed-relocs-error4.s
elf-packed-relocs-error5.s
elf-packed-relocs.test llvm-readobj: Fix addend in relocations for android packed format 2018-08-15 17:58:22 +00:00
elf-relr-relocs.test [llvm-readobj] Add experimental support for SHT_RELR sections 2018-06-28 21:07:34 +00:00
elf-sec-compressed.test
elf-sec-flags.test
elf-versioninfo.test [llvm-readobj] Don't print '@' at end of unversioned dynsym names 2019-01-08 10:58:05 +00:00
file-headers.test
gnu-file-headers.test [llvm-readobj] Print ELF header flags names in GNU output 2018-10-25 05:39:27 +00:00
gnu-hash-symbols.test [llvm-readelf]Revert --dyn-symbols behaviour to make it GNU compatible, and add new --hash-symbols switch for old behaviour 2019-01-22 09:35:35 +00:00
gnu-note-size.test [libObject] Fix getDesc for Elf_Note_Impl 2018-11-13 01:10:35 +00:00
gnu-notes.test [llvm-readobj] Implement LLVM style printer for --notes 2018-11-07 23:53:50 +00:00
gnu-phdrs.test [llvm-readobj] Display sections that do not belong to a segment in the section-mapping 2019-02-05 21:01:01 +00:00
gnu-relocations.test
gnu-sections.test
gnu-symbols.test [llvm-readelf] Don't suppress static symbol table with --dyn-symbols + --symbols 2019-01-23 16:15:39 +00:00
headers.test [llvm-readelf] Add -e/--headers support to readobj/elf 2018-12-11 16:15:03 +00:00
hexdump.test [llvm-readobj] Set correct offset when dumping hex section output. 2019-01-16 16:17:19 +00:00
imports.test
macho-needed-libs.test
macho-universal-x86_64.i386.test
many-sections.s [llvm-readobj] - Do not report invalid amount of sections. 2018-07-19 14:52:57 +00:00
merged.test [llvm-readelf] Allow single-letter flags to be merged. 2019-01-15 17:04:40 +00:00
mips-abiflags.test
mips-got-overlapped.test
mips-got.test [llvm-readobj] Don't print '@' at end of unversioned dynsym names 2019-01-08 10:58:05 +00:00
mips-options-sec.test
mips-options.test
mips-plt.test
mips-reginfo.test
mips-rld-map-rel.test
mips-st-other.test
note-gnu-property.s [llvm-readobj] Implement LLVM style printer for --notes 2018-11-07 23:53:50 +00:00
note-gnu-property2.s [llvm-readobj] Implement LLVM style printer for --notes 2018-11-07 23:53:50 +00:00
peplus.test
ppc64-glink.test
print-hex.test [WebAssembly] Update test cases after FixFunctionBitcasts 2018-11-07 01:58:50 +00:00
print-section.test [llvm-readobj] Generic -string-dump option 2018-07-18 18:00:41 +00:00
program-headers.test
readelf-s-alias.test [llvm-readelf] Make llvm-readelf more compatible with GNU readelf. 2018-11-12 18:02:38 +00:00
reloc-types.test
relocations.test [WebAssembly] Rename relocations from R_WEBASSEMBLY_ to R_WASM_ 2019-02-04 17:28:46 +00:00
res-resources.test
rpath.test
sections-ext.test [llvm-readelf] Allow single-letter flags to be merged. 2019-01-15 17:04:40 +00:00
sections.test [llvm-readelf] Make llvm-readelf more compatible with GNU readelf. 2018-11-12 18:02:38 +00:00
symbols.test [WebAssembly] Update test output after rL353357. NFC. 2019-02-07 02:35:22 +00:00
unwind-arm64-windows.test [ARM64][Windows] Add unwind support to llvm-readobj 2018-10-24 00:03:34 +00:00
unwind.test
wasm-invalid.test