This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

readelf patch to recognise decimal floats


The following patch allows readelf to recognise decimal floating point variables.
There is no encoding value yet assigned by the DWARF working group, although the
proposal is underway.  For now, I've chosen to use a GNU extension from the
user-defined encoding space.  I will submit a corresponding patch to GCC's dwarf2.h.

Okay for mainline?

[include/elf/ChangeLog]
2005-05-17  Ben Elliston  <bje@au.ibm.com>

       * dwarf2.h (enum dwarf_type): Assign DW_ATE_GNU_decimal_float from
       the user-defined encoding space pending inclusion in the standard.

Index: include/elf/dwarf2.h
===================================================================
RCS file: /home/bje/src-cvs/src/include/elf/dwarf2.h,v
retrieving revision 1.16
diff -u -p -r1.16 dwarf2.h
--- include/elf/dwarf2.h        10 May 2005 10:21:10 -0000      1.16
+++ include/elf/dwarf2.h        18 May 2005 01:24:55 -0000
@@ -1,7 +1,7 @@
 /* Declarations and definitions of codes relating to the DWARF2 symbolic
    debugging information format.
    Copyright (C) 1992, 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002,
-   2003 Free Software Foundation, Inc.
+   2003, 2005 Free Software Foundation, Inc.

    Written by Gary Funck (gary@intrepid.com) The Ada Joint Program
    Office (AJPO), Florida State University and Silicon Graphics Inc.
@@ -554,7 +554,9 @@ enum dwarf_type
     DW_ATE_HP_complex_float128   = 0x83, /* Complex floating-point (128 bit).  */
     DW_ATE_HP_floathpintel       = 0x84, /* Floating-point (82 bit IA64).  */
     DW_ATE_HP_imaginary_float80  = 0x85,
-    DW_ATE_HP_imaginary_float128 = 0x86
+    DW_ATE_HP_imaginary_float128 = 0x86,
+    /* GNU extensions.  */
+    DW_ATE_GNU_decimal_float     = 0x87  /* Pending DWARF working group.  */
   };

 #define        DW_ATE_lo_user 0x80


[binutils/ChangeLog]
2005-05-18  Ben Elliston  <bje@au.ibm.com>

       * readelf.c (read_and_display_attr_value): Handle a DW_AT_encoding
       value of DW_ATE_GNU_decimal_float.

Index: binutils/readelf.c
===================================================================
RCS file: /home/bje/src-cvs/src/binutils/readelf.c,v
retrieving revision 1.294
diff -u -p -r1.294 readelf.c
--- binutils//readelf.c 14 May 2005 05:07:20 -0000      1.294
+++ binutils//readelf.c 18 May 2005 01:24:55 -0000
@@ -8419,6 +8419,8 @@ read_and_display_attr_value (unsigned lo
        case DW_ATE_unsigned_char:      printf ("(unsigned char)"); break;
          /* DWARF 2.1 value.  */
        case DW_ATE_imaginary_float:    printf ("(imaginary float)"); break;
+         /* GNU extension.  */
+       case DW_ATE_GNU_decimal_float:  printf ("(decimal float)"); break;
        default:
          if (uvalue >= DW_ATE_lo_user
              && uvalue <= DW_ATE_hi_user)

Attachment: signature.asc
Description: OpenPGP digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]