Re: [lldb-dev] Prologue instructions having line information

2017-09-22 Thread Chris Quenelle via lldb-dev
> On Sep 22, 2017, at 4:18 PM, Robinson, Paul wrote: > > For contiguous ranges described by low_pc/hi_pc attribute > pairs, the hi_pc can be a constant for the length, so you save > a little space and a relocation. I think that’s in DWARF 4. > > DWARF 5 redid the ranges section, to do a lot mo

Re: [lldb-dev] Prologue instructions having line information

2017-09-22 Thread Robinson, Paul via lldb-dev
> -Original Message- > From: lldb-dev [mailto:lldb-dev-boun...@lists.llvm.org] On Behalf Of Chris > Quenelle via lldb-dev > Sent: Friday, September 22, 2017 4:03 PM > To: Jim Ingham > Cc: LLDB > Subject: Re: [lldb-dev] Prologue instructions having line informatio

Re: [lldb-dev] Prologue instructions having line information

2017-09-22 Thread Chris Quenelle via lldb-dev
> On Sep 14, 2017, at 3:32 PM, Jim Ingham wrote: > > This is supported (admittedly a little awkwardly) in DWARF with the > DW_TAG_inline_subroutine DIE's in the debug_info section of the DWARF. They > can expresses the nesting fully. > Sorry for the delay in responding. For now, I don’t

Re: [lldb-dev] Prologue instructions having line information

2017-09-19 Thread Carlos Alberto Enciso via lldb-dev
Results from 'check-all' project: - Additional requirement: the regression tests requires the python 'psutil' module. There is a common error when trying to build 'check-all' project. One of the instances can be seen on: llvm\projects\compiler-rt\test\lit.

Re: [lldb-dev] Prologue instructions having line information

2017-09-19 Thread Carlos Alberto Enciso via lldb-dev
I have been trying to build LLDB on Windows (7) and after couple of days, I managed to have a successfull build. These are my findings: 1) Follow the instructions from https://lldb.llvm.org/build.html 2) With Python 2.7, the cmake process fails, as it can't locate the following files: python_d

Re: [lldb-dev] Prologue instructions having line information

2017-09-15 Thread Robinson, Paul via lldb-dev
-dev [mailto:lldb-dev-boun...@lists.llvm.org] On Behalf Of Jim > Ingham via lldb-dev > Sent: Thursday, September 14, 2017 3:33 PM > To: Chris Quenelle > Cc: lldb-dev@lists.llvm.org > Subject: Re: [lldb-dev] Prologue instructions having line information > > This is supported (a

Re: [lldb-dev] Prologue instructions having line information

2017-09-14 Thread Jim Ingham via lldb-dev
This is supported (admittedly a little awkwardly) in DWARF with the DW_TAG_inline_subroutine DIE's in the debug_info section of the DWARF. They can expresses the nesting fully. I think we have all the data we need to do this right (*). The missing part is making the right decision of which

Re: [lldb-dev] Prologue instructions having line information

2017-09-14 Thread Chris Quenelle via lldb-dev
Have you guys considered going all the way and recording multiple layers of line information for the same range of instructions, and allowing the user to jump up and down through the not-really-there function calls? That seems like a very usefuil features for looking at optimized code. You’d nee

Re: [lldb-dev] Prologue instructions having line information

2017-09-14 Thread Jim Ingham via lldb-dev
This is only tangential, but it is a known bug that when we stop on a line that starts an inlined block we don't pretend we're in the outer function first, so the user can "step-in" to the inlined function. This is particularly notable when you have several nested levels of inlining starting at

Re: [lldb-dev] Prologue instructions having line information

2017-09-14 Thread Carlos Alberto Enciso via lldb-dev
Hi Tamas, Thanks very much for your reply and the useful information. In order to properly test my changes (I have another Debug Information ready for submission) I would like be able to build LLDB on my local machine. Once I reach that point, I will follow the process you described (compile call

Re: [lldb-dev] Prologue instructions having line information

2017-09-14 Thread Tamas Berghammer via lldb-dev
Hi Carlos, Thank your for looking into the LLDB failure. I looked into it briefly and the issue is that we have have 2 function f and g where g is inlined into f as the first call and this causes the first non-prologue line entry of f to be inside the address range of g what means that when we ste