From: Andrew Cagney <ac131313@redhat.com>
To: Richard Henderson <rth@redhat.com>
Cc: Michal Ludvig <mludvig@suse.cz>,
Daniel Jacobowitz <drow@mvista.com>, gdb <gdb@sources.redhat.com>
Subject: Re: [testsuite & dwarf2] How to handle store.exp failure on AMD64?
Date: Wed, 13 Aug 2003 18:23:00 -0000 [thread overview]
Message-ID: <3F3A8203.5060102@redhat.com> (raw)
In-Reply-To: <20030813165034.GA12234@redhat.com>
> On Wed, Aug 13, 2003 at 10:39:41AM -0400, Andrew Cagney wrote:
>
>> The initial status of each register is drawn from the CIE, and not the FDE.
>
>
> I understand that.
>
>
>> If GCC is going to move forward with optimizations that involve local
>> functions not complying to the ABI, it will need to supply complete
>> INITIAL_INSTRUCTIONS information.
>
>
> WHY?
>
> I just gave you an argument why that information doesn't do you
> any particular good, NO MATTER WHAT THE ABI IS. Please refute
> it rather than ignoring it.
This is a standards question - does the standard specify required
behavior, and does GCC comply to the standard. ``logcial'' and
``obvious'', unfortunatly, don't tend to come into such a debate :-( :-)
> Moreover, the algorithm I suggested that you use -- assume saved --
> is also completely independant of the ABI, so its' not like GDB
> needs to hard code ABI specific information either.
It doesn't work in general.
On a register window machine, it could use a fairly complex starting
state vis:
globals: same
locals: where saved on stack
input: undefined
output: in input
(register windows give me a headache so don't assume this one is correct :-)
It is open to per compiler interpretation.
Unless clearly defined by the spec, GCC's interpretation is strictly
that - GCCs interpretation. An alternative toolchain is equally at
liberty to start with the assumption that registers are undefined.
A complete CIE initialization can make for more compact CFI
If the initial state is preserve->same and scratch->undefined, the CFI
need only describe the preserved registers that get moved.
My current best guess is that this is should be defined by either dwarf2
or the relevant ABI committee.
[perhaphs I should have cross posted this with dwarf2 :-)]
Andrew
next prev parent reply other threads:[~2003-08-13 18:23 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-07 8:49 Michal Ludvig
2003-08-07 13:50 ` Daniel Jacobowitz
2003-08-07 14:58 ` Andrew Cagney
2003-08-07 15:02 ` Daniel Jacobowitz
2003-08-07 15:53 ` Andrew Cagney
2003-08-07 21:40 ` Michal Ludvig
2003-08-13 3:54 ` Andrew Cagney
2003-08-13 4:54 ` Richard Henderson
2003-08-13 14:39 ` Andrew Cagney
2003-08-13 16:50 ` Richard Henderson
2003-08-13 18:23 ` Andrew Cagney [this message]
2003-08-13 23:35 ` Richard Henderson
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=3F3A8203.5060102@redhat.com \
--to=ac131313@redhat.com \
--cc=drow@mvista.com \
--cc=gdb@sources.redhat.com \
--cc=mludvig@suse.cz \
--cc=rth@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).