public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
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


  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).