Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jerome Guitton <guitton@act-europe.fr>
To: Kevin Buettner <kevinb@redhat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA] powerpc - extract a float return value
Date: Fri, 23 Apr 2004 14:38:00 -0000	[thread overview]
Message-ID: <20040423143821.GA27351@act-europe.fr> (raw)
In-Reply-To: <20040421105415.12577df1@saguaro>

[-- Attachment #1: Type: text/plain, Size: 1087 bytes --]

Kevin Buettner (kevinb@redhat.com):

> The rs6000 return value code will need to be revamped to not refer to
> DEPRECATED_REGISTER_BYTE.  And, in fact, it probably ought to be
> restructured to use the mechanisms found in ppc-linux.c.  See
> ppc_linux_return_value() and ppc_sysv_abi_return_value().  This
> is not a barrier to getting your current patch in; I only mention
> it in case you wish to tackle this bit of work too.

Sorry, I would not really easy for me, I do not have a convenient
setup for PPC (that is actually the reason why it took me 3 days
to be able to test against the testsuite :-)

> > I have not yet tested it against the testsuite, I will do that
> > tomorrow. In the meantime, if you have comments I would be happy to
> > address them!
> 
> Please let me know the results of your tests.  If they look good,
> please commit your patch.

OK, thanks. Tested on the ppc-elf simulator, on a x86-linux host.
No regression.

I have slightly modified the patch, I do not see any reason to have a special
case for doubles now. OK to apply with this change?

-- 
Jerome

[-- Attachment #2: diff.3 --]
[-- Type: text/plain, Size: 1489 bytes --]

2004-04-23  Jerome Guitton  <guitton@gnat.fr>

	* rs6000-tdep.c (rs6000_extract_return_value): When extracting a float,
	use convert_typed_floating to get the appropriate format.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.191
diff -u -p -r1.191 rs6000-tdep.c
--- rs6000-tdep.c	1 Apr 2004 21:00:59 -0000	1.191
+++ rs6000-tdep.c	21 Apr 2004 10:14:03 -0000
@@ -1251,22 +1251,15 @@ rs6000_extract_return_value (struct type
   if (TYPE_CODE (valtype) == TYPE_CODE_FLT)
     {
 
-      double dd;
-      float ff;
       /* floats and doubles are returned in fpr1. fpr's have a size of 8 bytes.
          We need to truncate the return value into float size (4 byte) if
          necessary.  */
 
-      if (TYPE_LENGTH (valtype) > 4)	/* this is a double */
-	memcpy (valbuf,
-		&regbuf[DEPRECATED_REGISTER_BYTE (FP0_REGNUM + 1)],
-		TYPE_LENGTH (valtype));
-      else
-	{			/* float */
-	  memcpy (&dd, &regbuf[DEPRECATED_REGISTER_BYTE (FP0_REGNUM + 1)], 8);
-	  ff = (float) dd;
-	  memcpy (valbuf, &ff, sizeof (float));
-	}
+      convert_typed_floating (&regbuf[DEPRECATED_REGISTER_BYTE
+                                      (FP0_REGNUM + 1)],
+                              builtin_type_double,
+                              valbuf,
+                              valtype);
     }
   else if (TYPE_CODE (valtype) == TYPE_CODE_ARRAY
            && TYPE_LENGTH (valtype) == 16

  parent reply	other threads:[~2004-04-23 14:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-20 18:03 Jerome Guitton
2004-04-21 17:54 ` Kevin Buettner
2004-04-21 19:40   ` Andrew Cagney
2004-04-23 14:38   ` Jerome Guitton [this message]
2004-04-23 16:03     ` Kevin Buettner
2004-04-23 16:23       ` Jerome Guitton
2004-04-24  0:03     ` Andrew Cagney
2004-04-23 16:39       ` Jerome Guitton
2004-04-23 19:14         ` Joel Brobecker
2004-04-24  0:03         ` Andrew Cagney

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=20040423143821.GA27351@act-europe.fr \
    --to=guitton@act-europe.fr \
    --cc=gdb-patches@sources.redhat.com \
    --cc=kevinb@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