[all-commits] [llvm/llvm-project] edf410: [lldb/Target] Slide source display for artificial ...

Med Ismail Bennani via All-commits all-commits at lists.llvm.org
Wed Dec 8 15:28:20 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: edf410e48f5b5ec8e5f7b4cb6c9b578c1e0a067f
      https://github.com/llvm/llvm-project/commit/edf410e48f5b5ec8e5f7b4cb6c9b578c1e0a067f
  Author: Med Ismail Bennani <medismail.bennani at gmail.com>
  Date:   2021-12-08 (Wed, 08 Dec 2021)

  Changed paths:
    M lldb/source/Target/StackFrame.cpp
    M lldb/test/API/source-manager/TestSourceManager.py
    A lldb/test/API/source-manager/artificial_location.c

  Log Message:
  -----------
  [lldb/Target] Slide source display for artificial locations at function start

It can happen that a line entry reports that some source code is located
at line 0. In DWARF, line 0 is a special location which indicates that
code has no 1-1 mapping with source.

When stopping in one of those artificial locations, lldb doesn't know which
line to display and shows the beginning of the file instead.

This patch mitigates this behaviour by checking if the current symbol context
of the line entry has a matching function, in which case, it slides the
source listing to the start of that function.

This patch also shows the user a warning explaining why lldb couldn't
show sources at that location.

rdar://83118425

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

Signed-off-by: Med Ismail Bennani <medismail.bennani at gmail.com>




More information about the All-commits mailing list