public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: "jlebon at redhat dot com" <sourceware-bugzilla@sourceware.org>
To: systemtap@sourceware.org
Subject: [Bug translator/1133] support .callees probe pattern extension
Date: Fri, 24 Jan 2014 19:10:00 -0000	[thread overview]
Message-ID: <bug-1133-6586-621oMtK6QI@http.sourceware.org/bugzilla/> (raw)
In-Reply-To: <bug-1133-6586@http.sourceware.org/bugzilla/>

https://sourceware.org/bugzilla/show_bug.cgi?id=1133

Jonathan Lebon <jlebon at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jlebon at redhat dot com

--- Comment #4 from Jonathan Lebon <jlebon at redhat dot com> ---
Unfortunately, it seems like the new DWARF extensions added by GCC don't allow
us (at least for now) to support a .callsites probe because there is no
attribute from which we can retrieve the address of the call site. Although the
DWARF issue[1] mentions a DW_TAG_call_site attribute for it
(DW_AT_call_site_pc), this hasn't been implemented in GCC[2]. If/when it is
implemented, then we could add a syntax along those lines.

GCC does set the DW_AT_low_pc attribute of DW_TAG_call_site, but it seems like
it points to the instruction after the call site (at first I thought it was the
return addr, but it points to the next addr even when it's a tail call).

What the new DW_TAG_call_site DIE does give us however is a way of listing
callees of a DW_TAG_subprogram. So, we could use them to support .callees("")
by retrieving the address from the DIEs of all target functions.

Note however that call site DIEs are not guaranteed to be emitted for all call
sites (DW_TAG_subprogram attributes such as DW_AT_all_call_sites could be
examined to determine if they're all there, if it matters to us). Also note
that call site DIEs are not emitted when optimization is turned off.

BTW, for those looking for more details in the reasoning behind the addition of
DW_TAG_call_site, see the excellent paper[3].

[1] DWARF issue for DW_TAG_call_site
    http://www.dwarfstd.org/ShowIssue.php?issue=100909.2

[2] GCC patch adding support for DW_TAG_call_site and DW_OP_entry_value
    http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00814.html

[3] Improving debug info for optimized away parameters
   
http://gcc.gnu.org/wiki/summit2010?action=AttachFile&do=get&target=jelinek.pdf

[4] DWARF issue for DW_OP_entry_value
    http://www.dwarfstd.org/ShowIssue.php?issue=100909.1

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

  parent reply	other threads:[~2014-01-24 19:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-1133-6586@http.sourceware.org/bugzilla/>
2012-01-14 17:12 ` mjw at redhat dot com
2012-01-17 17:03 ` brolley at redhat dot com
2014-01-24 19:10 ` jlebon at redhat dot com [this message]
2014-01-28 21:00 ` jlebon at redhat dot com
2014-01-28 21:27 ` jlebon at redhat dot com
2014-01-30 15:50 ` jlebon at redhat dot com
2014-01-31 15:23 ` jlebon at redhat dot com
2014-02-05 18:44 ` jlebon at redhat dot com
2014-02-19 16:07 ` jlebon at redhat dot com
2014-02-19 16:34 ` jlebon at redhat dot com
     [not found] <20050728165308.1133.graydon@redhat.com>
2006-11-09 16:53 ` fche at redhat dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-1133-6586-621oMtK6QI@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=systemtap@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).