[lldb-dev] Prologue instructions having line information

Carlos Alberto Enciso via lldb-dev lldb-dev at lists.llvm.org
Thu Sep 14 10:08:14 PDT 2017


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 calling.cpp) and I would let you know my progress.

Best regards,
Carlos

On Thu, Sep 14, 2017 at 11:20 AM, Tamas Berghammer <tberghammer at google.com>
wrote:

> 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 step info f from
> outside we will end up inside g instead. Previously the first line entry
> for f matched with the start address of the inlined copy of g where LLDB
> was able to handle the stepping properly.
>
> For the concrete example you should compile https://github.com/llv
> m-mirror/lldb/blob/26fea9dbbeb3020791cdbc46fbf3cc9d7685d7fd/
> packages/Python/lldbsuite/test/functionalities/inline-stepping/calling.cpp with
> "/mnt/ssd/ll/git/build/host-release/bin/clang-5.0 -std=c++11 -g -O0
> -fno-builtin -m32 --driver-mode=g++ calling.cpp" and then observe
> that caller_trivial_2 have a DW_AT_low_pc = 0x8048790 and the
> inlined inline_trivial_1 inside it have a DW_AT_low_pc = 0x8048793 but the
> first line entry after "Set prologue_end to true" is at 0x8048796 while
> previously it was at 0x8048793.
>
> Tamas
>
> On Thu, Sep 14, 2017 at 9:59 AM Carlos Alberto Enciso via lldb-dev <
> lldb-dev at lists.llvm.org> wrote:
>
>> Hi,
>>
>> I have been working on a compiler issue, where instructions associated to
>> the function prolog are assigned line information, causing the debugger to
>> show incorrectly the beginning of the function body.
>>
>> For a full description, please see:
>>
>> https://reviews.llvm.org/D37625
>> https://reviews.llvm.org/rL313047
>>
>> The submitted patch caused some LLDB tests to fail. I have attached the
>> log failure.
>>
>> I have no knowledge about the test framework used by LLDB.
>>
>> What is the best way to proceed in this case?
>>
>> Thanks very much for your feedback.
>>
>> Carlos Enciso
>>
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>
>

<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20170914/7abf7eef/attachment.html>


More information about the lldb-dev mailing list