public inbox for archer@sourceware.org
 help / color / mirror / Atom feed
From: Roland McGrath <roland@redhat.com>
To: Tom Tromey <tromey@redhat.com>
Cc: Project Archer <archer@sourceware.org>
Subject: Re: systemtap markers and gdb
Date: Thu, 13 Jan 2011 17:15:00 -0000	[thread overview]
Message-ID: <20110113171524.143B7403EB@magilla.sf.frob.com> (raw)
In-Reply-To: Tom Tromey's message of  Thursday, 13 January 2011 09:06:50 -0700 <m3k4i8g545.fsf@fleche.redhat.com>

There are three flavors of encoding from various different versions of
systemtap.  The nicest one is the most recent (aka v3), which is only
available in the forthcoming systemtap 1.4.  Are you supporting more
than one flavor, or only the latest flavor?  (I think it's fine to
support only this latest flavor.)

It's not clear if 'info markers' tells you what object the markers are
in.  I notice that there is no way to specify a constraint on which
objects you want 'info markers' or 'catch marker' to match.

In contrast, in the systemtap syntax you always say which objects you
want to look for a particular marker in.  It's probably most common that
a given provider name is only used in a single object.  But it doesn't
have to be so.  In particular, a library might provide markers in its
inlines and then those would appear under the library's choice of
provider name, but in the various objects that inlined its calls or
methods.  I suppose it's consistent with the rest of gdb's breakpoint
selection that you don't explicitly say which objects you are talking
about, but I thought I'd mention the issue.

> It occurs to me now that I don't know how we'll support letting the user
> view the marker arguments outside of "commands".  Maybe instead of a
> special convenience function we should just set a bunch of convenience
> variables, or a single array-valued convenience variable.

Given that the probe arguments are only positional (have no names), an
array makes the most sense at first blush.  OTOH, in the latest sdt.h
flavor, there is some nominal degree of type information on the
arguments.  I presume an array-valued convenience variable would have to
convert them all to a single type and hence lose that information
(though perhaps do signedness-aware conversion and so not lose anything
that really matters).  

Today, the type information consists of signedness and size (1,2,4,8)
and all arguments are integers (including pointers treated as
uintptr_t).  But it's possible that in the future the format will be
extended to describe FP types too, or be richer in other ways.  So you
probably don't want to expose a gdb interface now that would need to be
changed later for richer argument types.


Thanks,
Roland

  reply	other threads:[~2011-01-13 17:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-13 15:39 Tom Tromey
2011-01-13 15:53 ` Phil Muldoon
2011-01-13 16:06   ` Tom Tromey
2011-01-13 17:15     ` Roland McGrath [this message]
2011-01-13 17:38       ` Tom Tromey
2011-02-04 22:00         ` Tom Tromey
2011-02-04 23:45           ` Roland McGrath
2011-02-07 15:22             ` Tom Tromey
2011-02-07 18:41               ` Roland McGrath
2011-02-07 16:55           ` Tom Tromey

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=20110113171524.143B7403EB@magilla.sf.frob.com \
    --to=roland@redhat.com \
    --cc=archer@sourceware.org \
    --cc=tromey@redhat.com \
    /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).