From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: drow@false.org
Cc: mark.kettenis@xs4all.nl, gdb-patches@sourceware.org
Subject: Re: [RFC] Teach dwarf2-frame.c about StackGhost
Date: Sun, 03 Apr 2005 19:03:00 -0000 [thread overview]
Message-ID: <200504031903.j33J3VC8017984@elgar.sibelius.xs4all.nl> (raw)
In-Reply-To: <20050403003443.GA23039@nevyn.them.org> (message from Daniel Jacobowitz on Sat, 2 Apr 2005 19:34:43 -0500)
Date: Sat, 2 Apr 2005 19:34:43 -0500
From: Daniel Jacobowitz <drow@false.org>
On Sun, Apr 03, 2005 at 12:18:42AM +0200, Mark Kettenis wrote:
> One of the things that still keeps me from enabling the DWARF2
> unwinder on SPARC is the fact that it doesn't play nice with
> StackGhost. Here is an attempt to make dwarf2-frame.c deal with it by
> introducing yet another register rule. People might object since this
> is only sort of architecture independent code. However it seems that
> this is the cleanest way to solve this.
Ewww... this isn't even vaguely architecture independent code. It
seems like it's in the wrong place; there's no reason StackGhost
must be restricted to register windows.
On the contrary. The whole idea pretty much depends on the concept of
register windows. Now the number of register window architectures is
fairly limited: SPARC, UltraSPARC and IA-64.
Here's an alternative that I think is cleaner (and will work... I
hope): create a sparc-specific unwinder. Its sniffer can call the
dwarf2 sniffer; similarly for this_id and prev_register. Then you can
handle the StackGhost cookie when you are requested to unwind the PC.
The problem here is that whether you need to apply the stackghost
cookie is highly dependent on where exactly %i7 is stored. If it is
stored in the reserved stack slot then you need to apply the cookie,
otherwise you won't. The way you suggests makes it hard to get at
that information.
Mark
next prev parent reply other threads:[~2005-04-03 19:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-02 22:18 Mark Kettenis
2005-04-03 0:34 ` Daniel Jacobowitz
2005-04-03 19:03 ` Mark Kettenis [this message]
2005-04-03 21:41 ` 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=200504031903.j33J3VC8017984@elgar.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=drow@false.org \
--cc=gdb-patches@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