Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Wu Zhou <woodzltc@cn.ibm.com>
To: Wu Zhou <woodzltc@cn.ibm.com>, gdb-patches@sourceware.org
Subject: Re: [RFC] decimal float point patch based on libdecnumber: gdb    	patch
Date: Mon, 21 Aug 2006 18:34:00 -0000	[thread overview]
Message-ID: <44E9D816.9070809@cn.ibm.com> (raw)
In-Reply-To: <20060821125031.GA16703@nevyn.them.org>

Daniel Jacobowitz wrote:
> On Mon, Aug 21, 2006 at 07:07:36AM -0400, Wu Zhou wrote:
>> decimal128 is defined like this in libdecnumber:
>>
>> typedef struct
>> {
>>   uint8_t bytes[DECIMAL128_Bytes];      /* decimal128: 1, 5, 12, 110 bits */
>> } decimal128;
>>
>> It is always big-endian.
>>
>> When parsing dfp constant in our patch, we are also using a byte array  
>> to store its value. It is big-endian too:
>>
>>   struct {
>>        gdb_byte val[16];
>>        struct type *type;
>>   } typed_val_decfloat;
>>
>> But when transfering them into gdb's value system  
>> (value_from_decfloat), we need to do endianess transfer in little  
>> endian machine. This is why exchange_dfp is needed.
> 
> Why?  Why can't that use exactly the same big endian representation?
> It's big endian on the target, it's big endian in the library, so what
> are you doing that needs it to be little endian?

But as far as I know, the endianess of struct "value" in the target memory is architecture depedent. 
  To name a example, in value_from_decfloat, we need to set the raw content of val to the dfp 
constant user inputed, I am using this:
   memcpy (value_contents_raw (val), decbytes, len);

decbytes is big-endian on all both x86 and ppc64 platforms.  But the value_contents_raw (val) is 
little endian on x86 / x86_64 system, and big endian on ppc64.  So exchange_dfp is needed.

> Sorry to keep asking this; I really want to understand this one issue
> before I review the code.

no problem at all. I guess I didn't make myself understood.  Or that I have some misunderstanding 
about the problem (correct me if you find any). Maybe a direct talk might be good.  Wish to see you 
on gcc IRC (I see that you are gray when I post this).

Regards
- Wu Zhou


  reply	other threads:[~2006-08-21 15:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-21 16:08 Wu Zhou
2006-08-21 18:30 ` Daniel Jacobowitz
2006-08-21 18:34   ` Wu Zhou [this message]
2006-08-22  1:31     ` Daniel Jacobowitz
2006-09-03  8:53       ` Wu Zhou
2006-09-03 16:44         ` Daniel Jacobowitz
2006-09-05  2:34           ` Wu Zhou
  -- strict thread matches above, loose matches on Subject: below --
2006-08-01  9:55 Wu Zhou
2006-08-01 10:51 ` Wu Zhou
2006-08-08 18:16   ` Daniel Jacobowitz
2006-07-23  5:48 Wu Zhou
2006-07-23 14:02 ` Daniel Jacobowitz
2006-06-21 21:03 [RFC] decimal float point patch based on libdecnumber: testcase Wu Zhou
2006-06-21 23:36 ` [RFC] decimal float point patch based on libdecnumber: gdb patch Wu Zhou
2006-06-22  3:27   ` Eli Zaretskii
2006-06-22 14:18     ` Wu Zhou
2006-07-12 20:39   ` Daniel Jacobowitz

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=44E9D816.9070809@cn.ibm.com \
    --to=woodzltc@cn.ibm.com \
    --cc=gdb-patches@sourceware.org \
    /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