[all-commits] [llvm/llvm-project] 5d58eb: [DebugInfo] Fix reading addresses in DWARFDebugAddr.

Igor Kudrin via All-commits all-commits at lists.llvm.org
Tue Feb 11 22:36:19 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5d58eb9f4f71292d9c67517d8cb0eb05e9fe82a3
      https://github.com/llvm/llvm-project/commit/5d58eb9f4f71292d9c67517d8cb0eb05e9fe82a3
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/debug_addr_rela.s

  Log Message:
  -----------
  [DebugInfo] Fix reading addresses in DWARFDebugAddr.

As addresses in the address tables may have relocations, thus,
the relocations should be resolved to read the correct address.
That is especially important for targets that use RELA relocations
because in that case addends are stored in relocation sections.

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


  Commit: 675c4bebaffc0c6b28ac85602b278677c07e03e5
      https://github.com/llvm/llvm-project/commit/675c4bebaffc0c6b28ac85602b278677c07e03e5
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
    M llvm/test/DebugInfo/X86/debug_addr.ll
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf4.s

  Log Message:
  -----------
  [DebugInfo] Do not dump header field for pre-DWARFv5 address tables.

As there is no header in pre-DWARFv5 address tables, and we fill
the class data members with some artificial values, we should not
dump them as that might be misleading.

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


  Commit: 292b67f99310d10229e14dc0ece18855e22d11cc
      https://github.com/llvm/llvm-project/commit/292b67f99310d10229e14dc0ece18855e22d11cc
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_mismatch.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_not_multiple.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_segment_selector.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_small_length_field.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_length_field.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_section.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s

  Log Message:
  -----------
  [DebugInfo] Use "an address table" in diagnostic messages of DWARFDebugAddr.

This replaces a collocation "a .debug_addr table" with "an address table"
because the latter sounds more accurate.

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


  Commit: de9604232a7c9e346faadf3708b61431bb441c1b
      https://github.com/llvm/llvm-project/commit/de9604232a7c9e346faadf3708b61431bb441c1b
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_invalid_addr_size.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_small_length_field.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_section.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s

  Log Message:
  -----------
  [DebugInfo] Refine error messages in DWARFDebugAddr.

As a preparation for the subsequent patches, this updates the wordings
of some error messages in DWARFDebugAddr.

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


  Commit: dc1661239358efb8144a179d6706d7faec7fec2f
      https://github.com/llvm/llvm-project/commit/dc1661239358efb8144a179d6706d7faec7fec2f
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
    M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_not_multiple.s
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
    R llvm/test/tools/llvm-dwarfdump/X86/debug_addr_version_mismatch.s

  Log Message:
  -----------
  [DebugInfo] Simplify DWARFDebugAddr.

The patch removes unnecessary members of DWARFDebugAddr and further
simplifies the implementation by separating parsing methods of tables
in the DWARFv5 and pre-standard formats.

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


  Commit: 07e50c7b9161e32c43e095aed586614bf8b02c71
      https://github.com/llvm/llvm-project/commit/07e50c7b9161e32c43e095aed586614bf8b02c71
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2020-02-12 (Wed, 12 Feb 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp
    M llvm/test/tools/llvm-dwarfdump/X86/debug_addr_dwarf64.s
    A llvm/test/tools/llvm-dwarfdump/X86/debug_addr_reserved_length.s
    A llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_extended_length_field.s

  Log Message:
  -----------
  [DebugInfo] Add support for DWARF64 into DWARFDebugAddr.

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


Compare: https://github.com/llvm/llvm-project/compare/0daf9b8e4132...07e50c7b9161


More information about the All-commits mailing list