This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/17040] Probing inline * at srcfile:line finds the wrong context


https://sourceware.org/bugzilla/show_bug.cgi?id=17040

--- Comment #1 from Josh Stone <jistone at redhat dot com> ---
With more stap verbosity, I see:

found the following lines for fs/file.c:
[...]
524 = ffffffff81206868
524 = ffffffff8120686f
524 = ffffffff81207282
524 = ffffffff8120734b

So there are actually 4 line records, but we're not trying the second.  I think
that's probably fine, since there are only 3 inline instances at all.

I found that query_srcfile_line() is not matching the inlines for die_has_pc(),
but the outer function does match.  The inline instances and their ranges are:

 [1982111]      inlined_subroutine
               abstract_origin      (ref4) [198145f]
               entry_pc             (addr) 0xffffffff8120686c
               ranges               (sec_offset) range list [10d7a0]
               call_file            (data1) 1
               call_line            (data2) 534
 [10d7a0]  0xffffffff8120686c..0xffffffff8120686f
           0xffffffff81206873..0xffffffff81206881

 [198404d]      inlined_subroutine
               abstract_origin      (ref4) [198145f]
               low_pc               (addr) 0xffffffff8120728a
               high_pc              (data8) 14 (0xffffffff81207298)
               call_file            (data1) 1
               call_line            (data2) 595

 [1984332]          inlined_subroutine
                   abstract_origin      (ref4) [198145f]
                   entry_pc             (addr) 0xffffffff81207341
                   ranges               (sec_offset) range list [10dc30]
                   call_file            (data1) 1
                   call_line            (data2) 629
                   sibling              (ref4) [19843c6]
 [10dc30]  0xffffffff81207341..0xffffffff81207344
           0xffffffff81207353..0xffffffff81207361

*None* of the line records fit in any of the function instances!  This may be a
compiler debuginfo issue.

However, even if we can fix die_has_pc for the inline, I suspect we'll be back
to PR10603's case with *both* function and inline matching in
query_srcfile_line().  It may be tricky to figure out which one is the true
match to the srcfile:line we want.  (It's probably not just innermost -
consider function -> inline -> inline where the middle one is the at the right
line.)

-- 
You are receiving this mail because:
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]