[all-commits] [llvm/llvm-project] 0cd7a3: [NFC][DebugInfo] Refactor address advancing operat...

James Henderson via All-commits all-commits at lists.llvm.org
Mon Mar 9 06:00:31 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 0cd7a32522ffb93b936e51a95fac4f8f536cfe09
      https://github.com/llvm/llvm-project/commit/0cd7a32522ffb93b936e51a95fac4f8f536cfe09
  Author: James Henderson <james.henderson at sony.com>
  Date:   2020-03-09 (Mon, 09 Mar 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp

  Log Message:
  -----------
  [NFC][DebugInfo] Refactor address advancing operations to share code

This change is a preparatory change for subsequent commits.

Reviewed by: probinson

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


  Commit: 8732192bbaf4457ae347912cb0af6dde46ef706a
      https://github.com/llvm/llvm-project/commit/8732192bbaf4457ae347912cb0af6dde46ef706a
  Author: James Henderson <james.henderson at sony.com>
  Date:   2020-03-09 (Mon, 09 Mar 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp

  Log Message:
  -----------
  [DebugInfo] Report unsupported maximum_operations_per_instruction values

This patch adds a check which reports an unsupported value of the
maximum_operations_per_instruction field in a debug line table header.
This is reported once per line table, at most, and only if the tablet
would otherwise need to use it (i.e. never for tables with version 3 or
less, or for tables which don't use DW_LNS_const_add_pc or special
opcodes). Unsupported values are currently any apart from 1.

Reviewed by: probinson, MaskRay

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


  Commit: 6e0c9e46967e1dc701a8be66c5fd250c78d9a73e
      https://github.com/llvm/llvm-project/commit/6e0c9e46967e1dc701a8be66c5fd250c78d9a73e
  Author: James Henderson <james.henderson at sony.com>
  Date:   2020-03-09 (Mon, 09 Mar 2020)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp

  Log Message:
  -----------
  [DebugInfo] Prevent crash when .debug_line line_range is zero

The line_range value of a debug line program header is used in divisions
related to special opcodes and DW_LNS_const_add_pc opcodes. As such, a
value of 0 cannot be used. This change introduces a new warning, if such
a situation is identified, and does not perform the relevant
calculations.

Reviewed by: probinson, aprantl

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


  Commit: 684d6fdee208a1fa12e9cbe0a45f3c5b4b575ad7
      https://github.com/llvm/llvm-project/commit/684d6fdee208a1fa12e9cbe0a45f3c5b4b575ad7
  Author: James Henderson <james.henderson at sony.com>
  Date:   2020-03-09 (Mon, 09 Mar 2020)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp

  Log Message:
  -----------
  [DebugInfo] Add check for .debug_line minimum_instruction_length of 0

If the minimum_instruction_length of a debug line program is 0, no
address advancing via special opcodes, DW_LNS_const_add_pc, and
DW_LNS_advance_pc can occur, since the minimum_instruction_length is
used in a multiplication. This patch adds a warning reporting when this
issue occurs.

Reviewed by: probinson

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


Compare: https://github.com/llvm/llvm-project/compare/af3db4e9aa8f...684d6fdee208


More information about the All-commits mailing list