[all-commits] [llvm/llvm-project] 62a4c2: DWARFVerifier: Check section-relative references a...

David Blaikie via All-commits all-commits at lists.llvm.org
Sun Aug 15 11:40:42 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 62a4c2c10e8eadd5bab49be72d642db257b46100
      https://github.com/llvm/llvm-project/commit/62a4c2c10e8eadd5bab49be72d642db257b46100
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2021-08-15 (Sun, 15 Aug 2021)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    M llvm/test/DebugInfo/X86/skeleton-unit-verify.s
    M llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_addr_between.yaml
    A llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_ref_multi_section.s
    M llvm/test/tools/llvm-dwarfdump/X86/verify_overlapping_cu_ranges.yaml

  Log Message:
  -----------
  DWARFVerifier: Check section-relative references at the end of the section

This ensures that debug_types references aren't looked for in
debug_info section.

Behavior is still going to be questionable in an unlinked object file -
since cross-cu references could refer to symbols in another .debug_info
(or, in theory, .debug_types) chunk - but if a producer only uses
ref_addr to refer to things within the same .debug_info chunk in an
object file (eg: whole program optimization/LTO - producing two CUs into
a single .debug_info section in an object file - the ref_addrs there
could be resolved relative to that .debug_info chunk, not needing to
consider comdat  (DWARFv5 type units or other creatures) chunks of
.debug_info, etc)




More information about the All-commits mailing list