This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/17040] Probing inline * at srcfile:line finds the wrong context
- From: "jistone at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Mon, 09 Jun 2014 18:35:19 +0000
- Subject: [Bug translator/17040] Probing inline * at srcfile:line finds the wrong context
- Auto-submitted: auto-generated
- References: <bug-17040-6586 at http dot sourceware dot org/bugzilla/>
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.