[PATCH] D44433: DWARFVerifier: Enhance validation of .debug_names hash tables

Pavel Labath via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 13 08:50:24 PDT 2018


labath created this revision.
labath added reviewers: JDevlieghere, aprantl, dblaikie.

This patch adds more checks to the .debug_names validator. Specifically,
they check for:

- buckets claiming to be non-empty but pointing to mismatched hashes (most consumers would interpret this as an empty bucket, but it questionable whether the generator meant that)
- hashes that are not reachable from any bucket
- names with incorrect hashes

Together, these checks ensure that any name in the index can be reached
through the hash table using the regular lookup algorithm. We also warn
if we encounter a name index without a hash table.


Repository:
  rL LLVM

https://reviews.llvm.org/D44433

Files:
  include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
  include/llvm/DebugInfo/DWARF/DWARFVerifier.h
  lib/DebugInfo/DWARF/DWARFVerifier.cpp
  test/tools/llvm-dwarfdump/X86/debug-names-verify-no-buckets.s
  test/tools/llvm-dwarfdump/X86/debug-names-verify-unhashed-names.s
  test/tools/llvm-dwarfdump/X86/debug-names-verify-wrong-hash.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44433.138203.patch
Type: text/x-patch
Size: 22023 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180313/512e4ac0/attachment.bin>


More information about the llvm-commits mailing list