Package: systemtap-sdt-dev
Version: 2.3-1
Severity: important

Dear Maintainer,

I've been working on GDB packaging, and upstream has been telling me
that if we built our libgcc and libc with the STAP probes enabled, it
would make some things work better; in particular:

  * There are probes in libgcc and libc that allow GDB to follow C++
    exceptions and longjmp (respectively) even without the respective
    debug symbols.  (See
    <https://sourceware.org/ml/gdb-patches/2012-03/msg00360.html>.

  * There are more probes in libc (well, ld.so) that would keep gdb
    better (and more efficiently) informed about library load/unload
    events.  (See
    <https://sourceware.org/ml/gdb-patches/2013-05/msg00624.html>.)

(I believe all of the STAP probes for this are now upstream.)

Until now, I've been reluctant to suggest this because systemtap-sdt-dev
wasn't available on all arches, so it would be necessary to add it as a
build-dependency for only some arches, which would involve hard-coding
the list of arches systemtap builds on in the control files for those
packages.  (This also prevents use on kfreebsd, hurd, or any arch that
might be supported in GDB before it is supported in systemtap.)

However, I've just learned that sdt.h contains very little arch-specific
code and, in particular, that it doesn't need to specifically mention
each supported arch, nor is it a different file on each arch.

It doesn't look like sdt-config.h is arch-dependent, either: the only
thing in there is about whether the assembler supports a certain
feature, which it does, and presumably will continue to do for quite
some time.

So, please make this package "Arch: all" so I can propose that the STAP
probes in libgcc and libc be enabled on all arches.  Sergio Durigan
Junior <sergi...@redhat.com> (who implemented the first bullet above
upstream in GDB) has graciously offered his assistance in making this
work for us.  (Of course, this would also be useful for any other
package which would like to provide STAP probes without compromising
portability.)


Note to Sergio: "Arch: all" makes a single build of a binary package
available for all architectures, and can thus only be used when that
binary package doesn't contain anything that would need to be different
on each arch, or which would need to be built on each arch.

It would also be possible to use "Arch: any" to build
"systemtap-sdt-dev" on every single arch, but then we'd have to make the
"systemtap" source package build on all arches, and explicitly restrict
the other binary packages it produces to the supported architectures,
but it would mean (a) repeating that list of arches several times in
debian/control and (b) conditionalizing the bulk of the package build on
whether the arch was on the list or not, both of which would seem to be
rather a pain.  (On the other hand, it would make arches more
self-contained.)


-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.9-1-686-pae (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages systemtap-sdt-dev depends on:
ii  python  2.7.5-5

systemtap-sdt-dev recommends no packages.

systemtap-sdt-dev suggests no packages.

-- no debconf information

-- 
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to