Show information about unknown ASEs and extensions in .MIPS.abiflags
authorMatthew Fortune <matthew.fortune@imgtec.com>
Fri, 17 Oct 2014 10:07:17 +0000 (11:07 +0100)
committerMatthew Fortune <matthew.fortune@imgtec.com>
Wed, 22 Oct 2014 09:37:26 +0000 (10:37 +0100)
bfd/
* elfxx-mips.c (print_mips_ases): Print unknown ASEs.
(print_mips_isa_ext): Print the value of an unknown extension.

binutils/

* readelf.c (print_mips_ases): Print unknown ASEs.
(print_mips_isa_ext): Print the value of an unknown extension.

include/

* elf/mips.h (AFL_ASE_MASK): Define.

bfd/ChangeLog
bfd/elfxx-mips.c
binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/mips.h

index 73605d7..513b841 100644 (file)
@@ -1,3 +1,8 @@
+2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * elfxx-mips.c (print_mips_ases): Print unknown ASEs.
+       (print_mips_isa_ext): Print the value of an unknown extension.
+
 2014-10-21  Alan Modra  <amodra@gmail.com>
 
        * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc
index a1e9945..61c363a 100644 (file)
@@ -15507,6 +15507,8 @@ print_mips_ases (FILE *file, unsigned int mask)
     fputs ("\n\tXPA ASE", file);
   if (mask == 0)
     fprintf (file, "\n\t%s", _("None"));
+  else if ((mask & ~AFL_ASE_MASK) != 0)
+    fprintf (stdout, "\n\t%s (%x)", _("Unknown"), mask & ~AFL_ASE_MASK);
 }
 
 static void
@@ -15572,7 +15574,7 @@ print_mips_isa_ext (FILE *file, unsigned int isa_ext)
       fputs ("ST Microelectronics Loongson 2F", file);
       break;
     default:
-      fputs (_("Unknown"), file);
+      fprintf (file, "%s (%d)", _("Unknown"), isa_ext);
       break;
     }
 }
index eca6400..2e2d6f5 100644 (file)
@@ -1,3 +1,8 @@
+2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * readelf.c (print_mips_ases): Print unknown ASEs.
+       (print_mips_isa_ext): Print the value of an unknown extension.
+
 2014-10-15  Tristan Gingold  <gingold@adacore.com>
 
        * configure: Regenerate.
index 58ccd93..bc79f03 100644 (file)
@@ -12723,6 +12723,8 @@ print_mips_ases (unsigned int mask)
     fputs ("\n\tXPA ASE", stdout);
   if (mask == 0)
     fprintf (stdout, "\n\t%s", _("None"));
+  else if ((mask & ~AFL_ASE_MASK) != 0)
+    fprintf (stdout, "\n\t%s (%x)", _("Unknown"), mask & ~AFL_ASE_MASK);
 }
 
 static void
@@ -12788,7 +12790,7 @@ print_mips_isa_ext (unsigned int isa_ext)
       fputs ("ST Microelectronics Loongson 2F", stdout);
       break;
     default:
-      fputs (_("Unknown"), stdout);
+      fprintf (stdout, "%s (%d)", _("Unknown"), isa_ext);
     }
 }
 
index 7acd73d..1eec0a4 100644 (file)
@@ -1,3 +1,7 @@
+2014-10-22  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+       * elf/mips.h (AFL_ASE_MASK): Define.
+
 2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>
 
        * libiberty.h (PEX_STDOUT_APPEND): New flag.
index 1fa69c1..2ed6acd 100644 (file)
@@ -1224,6 +1224,7 @@ extern void bfd_mips_elf_swap_abiflags_v0_out
 #define AFL_ASE_MIPS16       0x00000400 /* MIPS16 ASE.  */
 #define AFL_ASE_MICROMIPS    0x00000800 /* MICROMIPS ASE.  */
 #define AFL_ASE_XPA          0x00001000 /* XPA ASE.  */
+#define AFL_ASE_MASK         0x00001fff /* All ASEs.  */
 
 /* Values for the isa_ext word of an ABI flags structure.  */