From: Mark Kettenis <kettenis@chello.nl>
To: weigand@i1.informatik.uni-erlangen.de
Cc: cagney@gnu.org, weigand@i1.informatik.uni-erlangen.de,
gdb-patches@sources.redhat.com, uweigand@de.ibm.com
Subject: Re: [PATCH] S/390 DWARF-2 CFI frame support
Date: Sun, 14 Dec 2003 15:23:00 -0000 [thread overview]
Message-ID: <200312141521.hBEFLddh008828@elgar.kettenis.dyndns.org> (raw)
In-Reply-To: <200312131532.QAA19238@faui1d.informatik.uni-erlangen.de> (message from Ulrich Weigand on Sat, 13 Dec 2003 16:32:12 +0100 (CET))
From: Ulrich Weigand <weigand@i1.informatik.uni-erlangen.de>
Date: Sat, 13 Dec 2003 16:32:12 +0100 (CET)
Cc: cagney@gnu.org, weigand@i1.informatik.uni-erlangen.de,
gdb-patches@sources.redhat.com, uweigand@de.ibm.com
Content-Type: text/plain; charset=us-ascii
X-Spam-Level:
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on
elgar.kettenis.dyndns.org
X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham
version=2.60
Mark Kettenis wrote:
> I've considered per-architecture initialization of the unwind table
> before. However, the things Richard Henderson says about treating
> uninitialized columns as "same value" make sense.
However, I rather like to see 'value not available' instead of
an incorrect value in an 'info reg' display. So if we do have
an arch-dependent callback, we might as well use ABI knowledge
to get this right.
It probably depends a bit on the context. IMHO it is perfectly
all-right for a compiler to generate code that doesn't conform to the
ABI if it knows what it's doing. Or for to user to ask the compiler
to generate code that doesn't conform to the ABI. IIRC this happens
at various places in glibc. It would be a bit unfortunately if we
made it hard or impossible for the user to view (valid) variables in
registers, just because we're strictly enforcing the ABI. Of course
the real solution here would be to get GCC to emit CFI for all
registers, at least for .dwarf_frame (as opposed to .eh_frame)
sections.
> In the meantime, I'm going to try to remove some of the PC and
> SP-related hacks in dwarf2-frame.c and see what happens.
The only hack that cannot be replaced using the rules described
above (as far as I can see) is the
if (column == fs->retaddr_column)
continue;
in dwarf2_frame_cache. Does any platform rely on this behaviour?
The reason why I added that hack in the first place is the case where
the return address column does not correspond to an actual register.
In that case we must make sure that we don't map it onto one of GDB's
(pseudo-)registers. Assuming that the compiler has some freedom in
choosing the return address column number, and considering that the
DWARF-2 register numbers are largely undocumented for most targets, I
was worried that I couldn't guarantee this.
AFAICT there is no platform yet where GCC uses a return address column
number that would be mapped on the wrong GDB register, so I think we
can safely remove the code. New targets that start using the DWARF-2
CFI stuff should make sure theur DWARF-2 register number mapping is
right.
Mark
next prev parent reply other threads:[~2003-12-14 15:23 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-12-04 20:09 Ulrich Weigand
2003-12-04 22:47 ` Jim Blandy
2003-12-05 0:49 ` Richard Henderson
2003-12-05 1:04 ` Andrew Cagney
2003-12-05 1:44 ` Richard Henderson
2003-12-05 2:03 ` Ulrich Weigand
2003-12-05 2:11 ` Richard Henderson
2003-12-05 2:16 ` Ulrich Weigand
2003-12-05 2:13 ` Daniel Jacobowitz
2003-12-05 2:19 ` Ulrich Weigand
2003-12-05 16:02 ` Andrew Cagney
2003-12-05 17:54 ` Ulrich Weigand
2003-12-10 17:14 ` Andrew Cagney
2003-12-10 18:52 ` Ulrich Weigand
2003-12-12 17:43 ` Mark Kettenis
2003-12-13 15:32 ` Ulrich Weigand
2003-12-14 15:23 ` Mark Kettenis [this message]
2003-12-14 16:40 ` Andrew Cagney
2003-12-14 17:16 ` Mark Kettenis
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=200312141521.hBEFLddh008828@elgar.kettenis.dyndns.org \
--to=kettenis@chello.nl \
--cc=cagney@gnu.org \
--cc=gdb-patches@sources.redhat.com \
--cc=uweigand@de.ibm.com \
--cc=weigand@i1.informatik.uni-erlangen.de \
/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