From: Daniel Jacobowitz <drow@false.org>
To: gdb@sourceware.org
Subject: Re: Stepping over longjmp presumably broken for glibc
Date: Sat, 24 Dec 2005 16:59:00 -0000 [thread overview]
Message-ID: <20051224165859.GA12433@nevyn.them.org> (raw)
In-Reply-To: <uirtezc3i.fsf@gnu.org>
On Sat, Dec 24, 2005 at 06:36:17PM +0200, Eli Zaretskii wrote:
> > Sorry, but I think it will. The only two places that come to mind for
> > glibc are the shared library list and libthread_db
>
> What about the symbols we use when we look for specific functions,
> like malloc and fork?
Ah. I think there's a very important difference between the cases I
described and these: Malloc, and fork, and function calling, are all
public interfaces. They're described by standards. We don't need to
know anything about the particular implementation in order to use them.
But there's no standard to cover what we need here - jmp_buf's
deliberately an opaque type.
> I also don't see any significant difference between dependencies on
> intimate details of the runtime library and the details of the ABI,
> like function prologue emitted by GCC. We depend on that in lots of
> places.
I have less of an argument for this one, but I still do think there's a
difference. This is a static dependence rather than a dynamic
dependence. We can write it down, usually based on published standards
documents.
That's more true of the functional ABI than it is of the function
prologue sequences. Which one of those two mostly works once we get it
implemented, and which one is an evolving and recurring pain that we're
contemplating entirely new approaches to? :-) And that doesn't even
begin to handle debugging non-GCC-generated code.
The more implementation-specific knowledge we have, the less robust we
are.
> If we can find one, and if it is not fragile, then I agree 110%.
I think that single-stepping out of longjmp will not be fragile. It
may be hard to implement, but it should be straightforward in
principle; it's only going to be hard because of the existing mess
in infrun.c.
Anyway, that's my two cents. I don't have time to actually implement
it right now, which is why I wanted to mention it on the mailing list;
so that either someone else will look at it, or I will find the message
again later when I can do it myself.
--
Daniel Jacobowitz
CodeSourcery, LLC
next prev parent reply other threads:[~2005-12-24 16:59 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-22 21:17 Daniel Jacobowitz
2005-12-23 3:32 ` Jim Blandy
2005-12-23 8:25 ` Eli Zaretskii
2005-12-23 13:20 ` Daniel Jacobowitz
2005-12-23 15:16 ` Eli Zaretskii
2005-12-23 15:20 ` Daniel Jacobowitz
2005-12-23 17:07 ` Eli Zaretskii
2005-12-23 17:09 ` Daniel Jacobowitz
2005-12-23 17:46 ` Eli Zaretskii
2005-12-23 18:01 ` Simon Richter
2005-12-24 11:59 ` Eli Zaretskii
2005-12-24 16:23 ` Daniel Jacobowitz
2005-12-24 16:36 ` Eli Zaretskii
2005-12-24 16:59 ` Daniel Jacobowitz [this message]
2005-12-26 4:06 ` Jim Blandy
2005-12-26 5:19 ` Eli Zaretskii
2005-12-27 4:24 ` Jim Blandy
2005-12-30 2:38 ` Daniel Jacobowitz
2005-12-30 9:32 ` Mark Kettenis
2005-12-30 16:25 ` Daniel Jacobowitz
2006-01-02 5:25 ` Jim Blandy
2006-01-06 19:43 ` Daniel Jacobowitz
2006-01-06 20:28 ` Jim Blandy
2006-01-06 20:36 ` Daniel Jacobowitz
2006-01-06 20:53 ` Jim Blandy
2006-01-06 21:27 ` Mark Kettenis
2006-01-06 21:28 ` Daniel Jacobowitz
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=20051224165859.GA12433@nevyn.them.org \
--to=drow@false.org \
--cc=gdb@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