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/10537] process().function().label() doesn't select multiple inlined instances


------- 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.


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