Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Ulrich Weigand <weigand@i1.informatik.uni-erlangen.de>
To: kettenis@chello.nl (Mark Kettenis)
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: Sat, 13 Dec 2003 15:32:00 -0000	[thread overview]
Message-ID: <200312131532.QAA19238@faui1d.informatik.uni-erlangen.de> (raw)
In-Reply-To: <200312121741.hBCHfeRW036656@elgar.kettenis.dyndns.org> from "Mark Kettenis" at Dec 12, 2003 06:41:40 PM

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.

> On the other hand, we should be able to introduce our own "rules" in
> addition to the ones given by the DWARF2/3 specification.  We could
> add the following two:
> 
> * REG_RETURN_ADDRESS: Set the particular register to the return
>   address of the function.
> 
> * REG_CFA: Set the particular register to the call frame address.
> 
> We could even allow for an offset, such that we could specify rules
> such as: set the ISA PC register to the return address plus an offset
> of 8 bytes, or set the ISA SP register to the call frame address plus
> minus an offset of 128 bytes.  I might need such a facility for SPARC.
> 
> How does that sound?

This would certainly solve the s390 situation.

> 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?

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  weigand@informatik.uni-erlangen.de


  reply	other threads:[~2003-12-13 15:32 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 [this message]
2003-12-14 15:23         ` Mark Kettenis
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=200312131532.QAA19238@faui1d.informatik.uni-erlangen.de \
    --to=weigand@i1.informatik.uni-erlangen.de \
    --cc=cagney@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=kettenis@chello.nl \
    --cc=uweigand@de.ibm.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