From: Andrew Cagney <ac131313@redhat.com>
To: Eli Zaretskii <eliz@elta.co.il>
Cc: gdb@sources.redhat.com
Subject: Re: Tracepoint support in Cygnus GDB ?
Date: Sun, 28 Sep 2003 22:25:00 -0000 [thread overview]
Message-ID: <3F775F6C.8070209@redhat.com> (raw)
In-Reply-To: <4098-Sun28Sep2003234119+0300-eliz@elta.co.il>
>> Date: Sun, 28 Sep 2003 10:13:38 -0400
>> From: Andrew Cagney <ac131313@redhat.com>
>>
>> Keep in mind that GNU systems are a priority.
>
>
> I'm aware of that, but IMHO GDB development favors GNU/Linux too much.
> And since the Linux kernel changes so frequently, the symbiotic
> relationship between GDB and GNU/Linux tends to consume a lot of
> resources, as we are shooting a moving target.
There's a certain irony here. People also complain that GDB favours
embedded systems over GNU/Linux native systems; and spends too much time
adding new architectures.
The symbiotic relationship is between GDB and the compiler; not
GNU/Linux. It's the compiler that GDB's trying to keep pace with (well
actually catch up).
As for GNU systems (such as GNU/Linux). If existing functionality
breaks, we'd better do something about it.
TLS, for instance, is an ABI extension that is implemented by GCC (with
a little bit of co-operation from the [linux] kernel and [g]libc). Non
GNU/Linux systems will definitly pick up and exploit the feature!
>> TLS and NPTL are native GNU/Linux only for reasons out side of GDB's
>> control. Tweaking TLS for other systems should be straight forward.
>>
>> Follow fork isn't GNU/Linux specific (it originated in HP/UX) but does
>> need per-native target changes.
>
>
> The facts are that these features are currently available only for
> GNU/Linux.
This simply reflects the reality that most developers use GNU/Linux systems.
Unlike the past, the emphasis is on doing the internals in a portable
way so that they do apply across all systems. This definitly wasn't the
case when the original HP/UX only follow-fork implementation was committed.
The missing bit is an interest, by non GNU/Linux users, in getting the
features added to their system.
>> Separate debug info is very much an embedded feature - it lets embedded
>> distros make optional all the debug info for all those embedded C and
>> C++ libraries.
>
>
> Still, it requires a feature in Binutils that only exists on
> GNU/Linux.
Eli, here you're simply wrong. It requires a compatible toolchain
(binutils, elfutils). It does not require GNU/Linux.
> Are you saying that there's no way we could set up practical goals for
> GDB development? I'd be surprised if you actually meant that, but
> that's how it sounds.
I'm saying trying to tie specific features to specific releases is
unrealistic.
>> Having largely disconnected the release schedule from features, we're
>> doing much better. We make regular GDB updates that do contain new
>> features and, more importantly, fixes.
>
>
> As I said at the beginning of this discussion, I'm worried by the fact
> that most of the recent GDB development effort is consumed by fixing
> bugs and by building infrastructure, and very little goes into
> user-level features. So I applaud the progress being made in the
> directions you describe, but I'd like to see our progress defined more
> by user-level features, not only by bugfixes and infrastructure-related
> work.
>> > IMHO, having a relatively short list of user-level features that are
>> > first priority would be a good aid for maintainers, in setting their
>> > priority to review patches, if for nothing else.
>
>>
>> I believe everyone here knows the #1 priority. Make:
>>
>> (gdb) break main
>> (gdb) run
>> (gdb) bt
>> (gdb) print foo
>>
>> work. At present it doesn't.
>
>
> Something that should work but doesn't is a bug. So you again are
> talking about fixing a bug; I don't see any user-level feature in the
> above.
The above is subtle.
Having it work correctly requires the constant addition of new features.
>> Breaking it down, "print foo" and "break
>> main" both require name spaces, "bt" requires improved frame code.
>
>
> That's infrastructure again. While I understand the need for building
> good infrastructure, I hope that infrastructure will be used for
> adding user-level features, hopefully sooner rather than later.
Is the request to support debugging i386 binaries on x86-64 a bug,
infrastructure, or a user visible feature? I'd argue its a feature,
only, once working it just gives the user a better "break main; run"
experience.
Is namespace support a bug, infrastructure, or a new feature. Again,
I'd argue that its a new feature, but again at the end of the day it
just improves "break main; run".
Is the lack of lazy breakpoints a bug, infrastructure or new feature
(it's what every Java developer I know is asking for)? In the end,
though, it too only results in a better "break main; run" experience so
I guess its a bug.
The inability to set a breakpoint on inline functions? Bug?
Infrastructure? Feature? Anyone using anything inline complains about
that one.
I can't think of anyone here that is working on infrastructure for
infrastructures sake (If I were doing that I'd be spending my time
re-writing architecture specific code instead of deprecating / deleting
them :-). The objective is new features. However, due to past neglect,
we're now paying dearly spending more on cleanup and [arrrrg] finish up
and less on user features.
Andrew
next prev parent reply other threads:[~2003-09-28 22:23 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-24 10:40 Saravanan
2003-09-24 18:12 ` Eli Zaretskii
2003-09-24 22:41 ` Jim Blandy
2003-09-25 4:02 ` Daniel Jacobowitz
2003-09-25 21:44 ` Andrew Cagney
2003-09-27 15:46 ` Eli Zaretskii
2003-09-27 17:49 ` Andrew Cagney
2003-09-27 18:37 ` Eli Zaretskii
2003-09-27 18:48 ` Andrew Cagney
2003-09-28 8:40 ` Eli Zaretskii
2003-09-28 19:44 ` Andrew Cagney
2003-09-28 21:07 ` Eli Zaretskii
2003-09-28 21:30 ` Daniel Jacobowitz
2003-09-29 5:36 ` Eli Zaretskii
2003-09-29 14:48 ` Daniel Jacobowitz
2003-09-28 22:25 ` Andrew Cagney [this message]
2003-09-29 5:41 ` Eli Zaretskii
2003-09-29 14:52 ` Andrew Cagney
2003-09-29 15:07 ` Daniel Jacobowitz
2003-10-01 21:49 ` Features vs infrastructure (was Re: Tracepoint support in Cygnus GDB ?) Stan Shebs
2003-10-02 3:29 ` Andrew Cagney
2003-10-02 3:47 ` Stan Shebs
2003-10-02 5:31 ` Andrew Cagney
2003-10-02 6:42 ` Stan Shebs
2003-10-02 7:02 ` Joel Brobecker
2003-10-02 19:18 ` Andrew Cagney
2003-10-02 6:04 ` Stan Shebs
2003-10-02 6:29 ` Andrew Cagney
2003-09-30 5:43 ` Tracepoint support in Cygnus GDB ? Jim Blandy
2003-09-30 21:14 ` Andrew Cagney
2003-09-28 22:50 Michael Elizabeth Chastain
2003-09-29 6:28 ` Eli Zaretskii
2003-09-29 13:21 Michael Elizabeth Chastain
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=3F775F6C.8070209@redhat.com \
--to=ac131313@redhat.com \
--cc=eliz@elta.co.il \
--cc=gdb@sources.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