Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@redhat.com>
To: Corinna Vinschen <vinschen@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] sh-tdep.c (sh_use_struct_convention): Restructure and fix
Date: Mon, 06 Oct 2003 15:52:00 -0000	[thread overview]
Message-ID: <3F818FAA.6050005@redhat.com> (raw)
In-Reply-To: <20031004180852.GA29063@cygbert.vinschen.de>

> On Sat, Oct 04, 2003 at 11:54:09AM -0400, Andrew Cagney wrote:
> 
>> >	* sh-tdep.c (sh_use_struct_convention): Clean up to have a
>> >	more readable code.  Accomodate 4 byte structs with 4 byte sized
>> >	first field (e.g. bitfields).
> 
>> 
>> Corinna,
>> 
>> See: http://sources.redhat.com/ml/gdb-patches/2003-10/msg00033.html.
>> The ppc64_sysv_return_value code in ppc-sysv-tdep.c, has been written in 
>> a way that allows a quick update to this new iterface.
> 
> 
> I think my patch is fine.  I'm fixing non-deprecated functions to
> work better than before.  There's nothing wrong with this and I
> don't see any gain to use an entirely new technique (2 days old!)
> to get probably new errors which I don't have using this method.

Corinna, here are some URLs that pretty much spell out the fact that 
these changes are comming.  They are even prompted by problems you, 
yourself, identifed.

2003-09-29: [wip] return value architecture method
http://sources.redhat.com/ml/gdb-patches/2003-09/msg00616.html
which was me giving a very clear heads up that the method was comming.
2003-09-28: value to function?
http://sources.redhat.com/ml/gdb/2003-09/msg00345.html
2003-09-20: [rfa:ppc64] Fix return value
http://sources.redhat.com/ml/gdb-patches/2003-09/msg00435.html
For the origin of that version.
2003-08-??: [rfc] Supporting alternative ABIs
http://sources.redhat.com/ml/gdb/2003-08/msg00252.html
For for a potential future need to add "struct value *function".
2003-09-30: Phone discussion where I alerted you to these pending changes.

> Fixing the bugs is step 1.  Converting them to a new technique is
> another, later step.

It stops the existing test cases failing.  Unfortunatly the testsuite is 
deficient in this area, lacking proper coverage of this feature (would 
you like to help me improve the testsuite?).

Unless the new _return_value method is used, GDB refuses to handle:

	(gdb) list
	struct { float f; } s;
	(gdb) return s;

In fact, your SH changes to store_return_value:
http://sources.redhat.com/ml/gdb-patches/2003-10/msg00077.html
that try to handle this specific case are never executed!  See 
set_return_value.

So?  There's a judgment call here - will GDB be better off using the old 
or new technique during this transition period?  Here, I think it is 
questionably the case that it is in everyones best interest to make the 
switch.  This is because things will be in a much better position for 
the change to add a "struct value *function" method to the return-value 
code (I assume that that you're still working towards that).  The old 
code would have required mods to four architecture methods 
(RETURN_VALUE_ON_STACK was missed) while the new code will involve mods 
to only one.

I should also note that what I'm suggesting here isn't exactly rocket 
science.  Just grab extract_return_value, or store_return_value, and 
massage it into return_value.  I just did it for ppc32 and it took an 
hour, at max in the case of ppc64 it was a day.

Andrew


  reply	other threads:[~2003-10-06 15:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-04 11:39 Corinna Vinschen
2003-10-04 15:54 ` Andrew Cagney
2003-10-04 17:04   ` Kevin Buettner
2003-10-04 17:35     ` Andrew Cagney
2003-10-04 18:13       ` Kevin Buettner
2003-10-06 16:31         ` Andrew Cagney
2003-10-04 18:08   ` Corinna Vinschen
2003-10-06 15:52     ` Andrew Cagney [this message]
2003-10-07 14:52       ` Corinna Vinschen
2003-10-08 17:39         ` Andrew Cagney
2003-10-09 22:51     ` Elena Zannoni
2003-10-11 20:05       ` Andrew Cagney
2003-10-09 22:51 ` Elena Zannoni
2003-10-10  7:29   ` Corinna Vinschen
2003-10-10 15:01     ` Corinna Vinschen
2003-10-10 16:32       ` Elena Zannoni
2003-10-10 16:59         ` Corinna Vinschen
2003-10-10 17:56           ` Elena Zannoni
2003-10-10 19:14             ` Corinna Vinschen
2003-10-10 16:28     ` Elena Zannoni

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=3F818FAA.6050005@redhat.com \
    --to=ac131313@redhat.com \
    --cc=gdb-patches@sources.redhat.com \
    --cc=vinschen@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