* [Bug translator/15587] New: Line numbers are missing/incorrect for inline statements
@ 2013-06-05 19:55 jistone at redhat dot com
2013-06-05 19:58 ` [Bug translator/15587] " jistone at redhat dot com
0 siblings, 1 reply; 2+ messages in thread
From: jistone at redhat dot com @ 2013-06-05 19:55 UTC (permalink / raw)
To: systemtap
http://sourceware.org/bugzilla/show_bug.cgi?id=15587
Bug ID: 15587
Summary: Line numbers are missing/incorrect for inline
statements
Product: systemtap
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: translator
Assignee: systemtap at sourceware dot org
Reporter: jistone at redhat dot com
First, notice how a non-inline function behaves:
$ stap -l 'kernel.function("do_sys_open@fs/open.c").*'
kernel.function("do_sys_open@fs/open.c:960").call
kernel.function("do_sys_open@fs/open.c:960").exported
kernel.function("do_sys_open@fs/open.c:960").return
$ stap -l 'kernel.statement("do_sys_open@fs/open.c:*")'
kernel.statement("do_sys_open@fs/open.c:961")
kernel.statement("do_sys_open@fs/open.c:965")
kernel.statement("do_sys_open@fs/open.c:973")
kernel.statement("do_sys_open@fs/open.c:976")
kernel.statement("do_sys_open@fs/open.c:979")
kernel.statement("do_sys_open@fs/open.c:981")
Now compare to an inlined function:
$ stap -l 'kernel.function("__get_file_write_access@fs/open.c").*'
kernel.function("__get_file_write_access@fs/open.c:656").inline
$ stap -l 'kernel.statement("__get_file_write_access@fs/open.c:*")'
kernel.statement("__get_file_write_access@fs/open.c")
The line number is absent, so we don't know what locations it actually found.
And in fact, there could be multiple locations, with different $var
availability, but listing mode will only show it once since the pn() is the
same.
--
You are receiving this mail because:
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [Bug translator/15587] Line numbers are missing/incorrect for inline statements
2013-06-05 19:55 [Bug translator/15587] New: Line numbers are missing/incorrect for inline statements jistone at redhat dot com
@ 2013-06-05 19:58 ` jistone at redhat dot com
0 siblings, 0 replies; 2+ messages in thread
From: jistone at redhat dot com @ 2013-06-05 19:58 UTC (permalink / raw)
To: systemtap
http://sourceware.org/bugzilla/show_bug.cgi?id=15587
Josh Stone <jistone at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|systemtap at sourceware dot org |jistone at redhat dot com
--- Comment #1 from Josh Stone <jistone at redhat dot com> ---
This patch was confirmed by Bryn M. Reeves to improve the situation. I just
need to do more manual testing and hopefully find a stable testcase for it.
diff --git a/tapsets.cxx b/tapsets.cxx
index 6bede4c..6a785e8 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -1653,7 +1653,8 @@ query_srcfile_line (const dwarf_line_t& line, void * arg)
Dwarf_Die scope;
q->dw.inner_die_containing_pc(i->die, addr, scope);
query_statement (i->name, i->decl_file,
- q->line[0], &scope, addr, q);
+ lineno, // NB: not q->line !
+ &scope, addr, q);
}
else
query_inline_instance_info (*i, q);
--
You are receiving this mail because:
You are the assignee for the bug.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-06-05 19:58 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-05 19:55 [Bug translator/15587] New: Line numbers are missing/incorrect for inline statements jistone at redhat dot com
2013-06-05 19:58 ` [Bug translator/15587] " jistone at redhat dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).