Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "J. Johnston" <jjohnstn@redhat.com>
To: gdb-patches@sources.redhat.com
Cc: Kevin Buettner <kevinb@redhat.com>
Subject: [RFA]: fix ia64 long double support
Date: Thu, 04 Dec 2003 22:37:00 -0000	[thread overview]
Message-ID: <3FCFB735.80204@redhat.com> (raw)

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

Fix to a couple of problems.  First of all, we aren't setting up a long double 
format for the architecture so it defaults to double when you try and print a 
long double value via gdb.

Although the ia64 has a special long double format it specifies, this format is 
only valid for register values.  Values in memory use the x86 extended float 
format which is 80 bits.  Register long doubles are 82 bits (2 more bits of 
exponent).

Anyway, this simple change fixes it so long doubles print correctly.

Ok to commit?

-- Jeff J.

2003-12-04  Jeff Johnston  <jjohnstn@redhat.com>

	* ia64-tdep.c (ia64_gdbarch_init): Set up the gdbarch long double
	format to be the i387 extended float format which is used for
	long double's in memory.

[-- Attachment #2: ia64-long-double.patch --]
[-- Type: text/plain, Size: 852 bytes --]

Index: ia64-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ia64-tdep.c,v
retrieving revision 1.104
diff -u -p -r1.104 ia64-tdep.c
--- ia64-tdep.c	17 Nov 2003 21:38:36 -0000	1.104
+++ ia64-tdep.c	4 Dec 2003 22:29:43 -0000
@@ -3361,6 +3361,11 @@ ia64_gdbarch_init (struct gdbarch_info i
                0, "builtin_type_ia64_ext", NULL);
   TYPE_FLOATFORMAT (builtin_type_ia64_ext) = &floatformat_ia64_ext;
 
+  /* On the ia64, long double floats in memory are actually stored
+     in memory different than they are in registers.  In memory,
+     they match the x86 extended float format which is 80-bits.  */
+  set_gdbarch_long_double_format (gdbarch, &floatformat_i387_ext);
+
   set_gdbarch_short_bit (gdbarch, 16);
   set_gdbarch_int_bit (gdbarch, 32);
   set_gdbarch_long_bit (gdbarch, 64);

             reply	other threads:[~2003-12-04 22:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-04 22:37 J. Johnston [this message]
2003-12-05  0:50 ` Richard Henderson
2003-12-05  1:54   ` J. Johnston
2003-12-05  5:18     ` Kevin Buettner
2003-12-06  0:18       ` J. Johnston
2003-12-05  1:19 ` Kevin Buettner
2003-12-05  1:52   ` J. Johnston
2003-12-05  5:13     ` Kevin Buettner

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=3FCFB735.80204@redhat.com \
    --to=jjohnstn@redhat.com \
    --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