public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [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).