From 00ac7aa072c90d95615bd1c89c699f0ea5eeae22 Mon Sep 17 00:00:00 2001 From: Matthew Fortune Date: Fri, 17 Oct 2014 11:07:17 +0100 Subject: Show information about unknown ASEs and extensions in .MIPS.abiflags 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 | 5 +++++ bfd/elfxx-mips.c | 4 +++- binutils/ChangeLog | 5 +++++ binutils/readelf.c | 4 +++- include/ChangeLog | 4 ++++ include/elf/mips.h | 1 + 6 files changed, 21 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 73605d7..513b841 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2014-10-22 Matthew Fortune + + * 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 * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index a1e9945..61c363a 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -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; } } diff --git a/binutils/ChangeLog b/binutils/ChangeLog index eca6400..2e2d6f5 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2014-10-22 Matthew Fortune + + * readelf.c (print_mips_ases): Print unknown ASEs. + (print_mips_isa_ext): Print the value of an unknown extension. + 2014-10-15 Tristan Gingold * configure: Regenerate. diff --git a/binutils/readelf.c b/binutils/readelf.c index 58ccd93..bc79f03 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -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); } } diff --git a/include/ChangeLog b/include/ChangeLog index 7acd73d..1eec0a4 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2014-10-22 Matthew Fortune + + * elf/mips.h (AFL_ASE_MASK): Define. + 2014-09-26 Max Ostapenko * libiberty.h (PEX_STDOUT_APPEND): New flag. diff --git a/include/elf/mips.h b/include/elf/mips.h index 1fa69c1..2ed6acd 100644 --- a/include/elf/mips.h +++ b/include/elf/mips.h @@ -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. */ -- cgit v1.1