From: Andrew Cagney <ac131313@cygnus.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: Don Howard <dhoward@redhat.com>, gdb-patches@sources.redhat.com
Subject: Re: [RFA] mips: Fix "info registers" output
Date: Sun, 10 Mar 2002 12:45:00 -0000 [thread overview]
Message-ID: <3C8BC5DB.3040102@cygnus.com> (raw)
In-Reply-To: <20020310143027.A3933@nevyn.them.org>
> Have a look at GCC's -fshort-double option. I'm not sure how MIPS would
>> respond to it but I suspect it would make everyones head hurt. :-)
>
>
> I suspect the stabs reader would go insane :) You'd have two floating
> point types with different names but the same size... all sorts of
> assumptions would probably get confused.
It works for the d10v! That has:
float 32
double 32
long double 64
by default. The poor d10v gets confused when ``double 64'' is specifed
but that is only because the corresponding gdb code pre-dates multi-arch
and so code to handle this is simply missing.
> That wouldn't affect builtin_type_double, though, which we define in
> terms of the 64 bits. Are you saying that should be updated based on
> the type of 'double' in the objfile? I don't really think so, since
> 'the type associated with the word "double"' isn't necessarily tied to
> "what this architecture would normally call a double" and
> builtin_type_double is the latter. MIPS would normally call a 64-bit
> FP quantity a double, whatever GCC is up to.
Now I'm confused :-). The type builtin_type_double is determined by the
ABI, its value/behavour is influenced by TARGET_DOUBLE_BIT,
TARGET_BYTE_ORDER and TARGET_DOUBLE_FORMAT. They are all attributes of
the ABI and their values can be determined from the object file.
Separate to this is the real register format and that is determined by
the ISA.
Consider the PPC which has strictly 64 bit FP registers but supports the
32 bit ``float'' type. If you print the register it is 64 bit, if you
print a 32 bit float stored in the register than the 64 bit value is
first converted to 32 bit.
Other examples are Arm, m68k and i386. As soon as those targets stopped
trying to use type_double et.al. bugs mysteriously disappeared and the
code became simpler :-) The mips hasn't yet done this.
>
> Right; the way registers are acquired is both ISA and ABI dependent. I
> don't know that the way they are interpreted afterwards is ABI
> dependent...
Their interpretation is ISA dependant so they should be using things
like type_ieee_double et.al.
enjoy,
Andrew
next prev parent reply other threads:[~2002-03-10 20:45 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20010619225007.A10141@nevyn.them.org>
2001-06-20 7:19 ` Andrew Cagney
2001-06-21 0:45 ` Eli Zaretskii
2001-06-21 8:37 ` Daniel Jacobowitz
2001-06-21 9:29 ` Eli Zaretskii
2001-06-21 9:44 ` Daniel Jacobowitz
2001-06-21 12:00 ` Eli Zaretskii
2001-06-21 13:12 ` Daniel Jacobowitz
2001-06-21 14:22 ` Don Howard
2002-03-07 13:59 ` Daniel Jacobowitz
2002-03-09 18:05 ` Andrew Cagney
2002-03-09 22:58 ` Daniel Jacobowitz
2002-03-10 8:30 ` Andrew Cagney
2002-03-10 9:00 ` Daniel Jacobowitz
2002-03-10 9:46 ` Andrew Cagney
2002-03-10 11:30 ` Daniel Jacobowitz
2002-03-10 12:45 ` Andrew Cagney [this message]
2002-03-10 14:26 ` Daniel Jacobowitz
2002-03-10 15:18 ` 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=3C8BC5DB.3040102@cygnus.com \
--to=ac131313@cygnus.com \
--cc=dhoward@redhat.com \
--cc=drow@mvista.com \
--cc=gdb-patches@sources.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