[all-commits] [llvm/llvm-project] 4ee76a: [llvm/DWARF] Return section offset from DWARFUnit:...

Pavel Labath via All-commits all-commits at lists.llvm.org
Thu Dec 5 03:34:34 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 4ee76a922aad743818d56f58630cf8da25602251
      https://github.com/llvm/llvm-project/commit/4ee76a922aad743818d56f58630cf8da25602251
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2019-12-05 (Thu, 05 Dec 2019)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
    M llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    M llvm/test/DebugInfo/X86/dwarfdump-rnglists-dwarf64.s
    M llvm/test/DebugInfo/X86/dwarfdump-rnglists.s
    M llvm/test/DebugInfo/X86/split-dwarf-v5-ranges.ll
    M llvm/test/tools/llvm-dwarfdump/X86/no_debug_addr.s

  Log Message:
  -----------
  [llvm/DWARF] Return section offset from DWARFUnit::get{Loc,Rng}listOffset

Summary:
Currently these function return the raw content of the appropriate table
header, which means they are relative to the DW_AT_{loc,rng}list_base,
and one has to relocate them in order to do anything.

This changes the functions to perform the relocation themselves, which
seems more clearer, particularly as they are sitting right next to the
find{Rng,Loc}listFromOffset functions, but one *cannot* simply take the
result of these functions and take pass them there.

The only effect of this patch is to change what value is dumped for the
DW_AT_ranges attribute, which I think is for the better, as previously
the values appeared to point into thin air.

(The main reason I am looking at this is because I was trying to
implement equivalent functionality in lldb's DWARFUnit, and was stumped
by this behavior.

Reviewers: dblaikie, JDevlieghere, aprantl

Subscribers: hiraditya, llvm-commits, SouraVX

Tags: #llvm

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




More information about the All-commits mailing list