public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug translator/10537] New: process().function().label() doesn't select multiple inlined instances
@ 2009-08-18 19:45 mjw at redhat dot com
  2009-08-18 20:11 ` [Bug translator/10537] " mjw at redhat dot com
  2009-08-20 14:42 ` mjw at redhat dot com
  0 siblings, 2 replies; 3+ messages in thread
From: mjw at redhat dot com @ 2009-08-18 19:45 UTC (permalink / raw)
  To: systemtap

When using process().function().label() where the function is inlined multiple
times, the probe doesn't select all inlined instances.

Writing a testcase as part of PR10533.

-- 
           Summary: process().function().label() doesn't select multiple
                    inlined instances
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap at sources dot redhat dot com
        ReportedBy: mjw at redhat dot com


http://sourceware.org/bugzilla/show_bug.cgi?id=10537

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug translator/10537] process().function().label() doesn't select multiple inlined instances
  2009-08-18 19:45 [Bug translator/10537] New: process().function().label() doesn't select multiple inlined instances mjw at redhat dot com
@ 2009-08-18 20:11 ` mjw at redhat dot com
  2009-08-20 14:42 ` mjw at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: mjw at redhat dot com @ 2009-08-18 20:11 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From mjw at redhat dot com  2009-08-18 20:11 -------
Testcase (disabled) added as:

commit 766d05e2cabc44805a9e12c4c309d1232f681f10
Author: Mark Wielaard <mjw@redhat.com>
Date:   Tue Aug 18 22:01:53 2009 +0200

    Add testcase for PR10533 (inlined vars) and 10537 (inlined labels - disabled)
    
    Partial testcase for PR10533 (inlined vars) and 10537 (inlined labels)
    currently we cannot use the full testcase since stap doesn't support
    probing multiple instances of inlined labels.
    
    * testsuite/systemtap.base/inlinedvars.exp: New file.
    * testsuite/systemtap.base/inlinedvars.stp: Likewise.
    * testsuite/systemtap.base/inlinedvars.c: Likewise.


-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=10537

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Bug translator/10537] process().function().label() doesn't select multiple inlined instances
  2009-08-18 19:45 [Bug translator/10537] New: process().function().label() doesn't select multiple inlined instances mjw at redhat dot com
  2009-08-18 20:11 ` [Bug translator/10537] " mjw at redhat dot com
@ 2009-08-20 14:42 ` mjw at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: mjw at redhat dot com @ 2009-08-20 14:42 UTC (permalink / raw)
  To: systemtap


------- Additional Comments From mjw at redhat dot com  2009-08-20 14:41 -------
commit 30868aad20865f5a949c22ad0a20d1ebe2fd669a
Author: Mark Wielaard <mjw@redhat.com>
Date:   Thu Aug 20 16:31:55 2009 +0200

    PR10537 process().function().label() should select multiple inlined instances.
    
    This is less useful than one would hope. gcc will often emit a label with
    a DW_AT_low_pc that is not really in the neighbourhood of where one would
    expect it when the label is inlined and gcc can proof the label isn't really
    used in the optimized code. dwflpp::iterate_over_labels will now really
    iterate recursively through the die, even for dies without a name (like
    lexical blocks). This means we should now always find the concrete inlined
    label instances that have a real DW_AT_low_pc and so we don't need the trick
    to use the line table to get at the actual address.
    
    * dwflpp.cxx (iterate_over_labels): Accept dies without a name. Don't handle
      labels without a name or without a lowpc attribute.
    * testsuite/systemtap.base/inlinedvars.c (m): Trick gcc into thinking label
      is always used.
      (call, call2): Activate.
      (main): Call call and call2.
    * testsuite/systemtap.base/inlinedvars.exp: New result_string.
      Test both unoptimized and optimized (inlined) builds.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://sourceware.org/bugzilla/show_bug.cgi?id=10537

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-08-20 14:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-18 19:45 [Bug translator/10537] New: process().function().label() doesn't select multiple inlined instances mjw at redhat dot com
2009-08-18 20:11 ` [Bug translator/10537] " mjw at redhat dot com
2009-08-20 14:42 ` mjw 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).