Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: jan.kratochvil@redhat.com, gdb-patches@sourceware.org,
	gbenson@redhat.com
Subject: Re: [RFA] Improved linker-debugger interface
Date: Tue, 08 May 2012 13:37:00 -0000	[thread overview]
Message-ID: <8762c6x08n.fsf@fleche.redhat.com> (raw)
In-Reply-To: <201205072131.q47LVjTN014466@glazunov.sibelius.xs4all.nl> (Mark	Kettenis's message of "Mon, 7 May 2012 23:31:45 +0200 (CEST)")

>>>>> "Mark" == Mark Kettenis <mark.kettenis@xs4all.nl> writes:

Mark> I'm pretty annoyed by the whole SystemTap thing.  You presented this
Mark> as being something pretty generic.  But it turns out this is not only
Mark> Linux-specfic, but pretty much a completely RedHat-specific thing it
Mark> seems.  And I think I've figured out why: SystemTap relies on utrace,
Mark> which is not present in the official Linux kernel source tree.  And as
Mark> far as I can see it will remain that way in the near future.  So
Mark> unless you are running RedHat Linux, you'll not only need to build a
Mark> patched glibc, but you also need to build a patched kernel to be able
Mark> to use these new SystemTap probes.  Not many people will do that!

None of this is the accurate.

I'm also annoyed now, because I explained all this at length, twice, and
also sent references to the documentation, explaining how the probe
feature is a relatively generic ELF feature, not dependent on the main
body of System Tap at all.  Apparently you didn't read any of this.


To sum up again, the code in gdb relates to static probe points.

From the user's point of view, a probe is a spot in the code with a name
and arguments.

From the implementation point of view, a probe is an entry in an ELF
section, designed in a way to minimize overhead, plus a no-op in the
code.

GDB reads this new section and uses it to find the probe points, and to
decode the probe arguments.  There is zero dependency on System Tap, or
the kernel, or utrace, or anything else.  It is purely reading an ELF
section.

The probe implementation is a header file.  Currently this is maintained
in System Tap.  However, even this is relatively independent; it depends
on a GCC extension, but this is part of upstream GCC.  I would not be
surprised if this code worked on any GCC/ELF system.

Mark> Having the basic SystemTap support in GDB is fine.  But depending on
Mark> it to fix issues with core GDB functionality like the ability to debug
Mark> shared libraries is a different matter.  It means that people using
Mark> RedHat Linux, almost certainly including any RedHat engineers
Mark> contributing here will no longer test the codepaths that don't rely on
Mark> SystemTap.  And people on other Linux variants will never test the
Mark> codepaths that rely on SystemTap.  That'll inevitably lead to more
Mark> breakage.

This is already the situation for compilers and kernels, which in
practice touch much more code in gdb.

Tom


  parent reply	other threads:[~2012-05-08 13:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-04 15:22 Gary Benson
2012-05-05  4:39 ` Sergio Durigan Junior
2012-05-05  6:03   ` Jan Kratochvil
2012-05-05  6:11     ` Sergio Durigan Junior
2012-05-05  6:23       ` Jan Kratochvil
2012-05-07 16:57 ` Jan Kratochvil
2012-05-07 17:51   ` Sergio Durigan Junior
2012-05-07 20:27   ` Tom Tromey
2012-05-07 21:32     ` Mark Kettenis
2012-05-07 21:44       ` Jan Kratochvil
2012-05-08  5:45       ` Sergio Durigan Junior
2012-05-08 13:37       ` Tom Tromey [this message]
2012-05-09  8:12         ` Mark Kettenis
2012-05-09 15:57           ` 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=8762c6x08n.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=gbenson@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@redhat.com \
    --cc=mark.kettenis@xs4all.nl \
    /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