aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorChao-ying Fu <fu@mips.com>2013-10-14 18:45:46 +0000
committerChao-ying Fu <fu@mips.com>2013-10-14 18:45:46 +0000
commita9f581680fe1de047447931494b70fa0d8da9e42 (patch)
treeabd7a57660e2e9615d87a6036e2708727e54dbf9 /binutils
parentb60bf9be01d4b642d5bc669f88af9509a05bd60f (diff)
downloadgdb-a9f581680fe1de047447931494b70fa0d8da9e42.zip
gdb-a9f581680fe1de047447931494b70fa0d8da9e42.tar.gz
gdb-a9f581680fe1de047447931494b70fa0d8da9e42.tar.bz2
2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
* readelf.c (display_mips_gnu_attribute): Support Tag_GNU_MIPS_ABI_MSA. * doc/binutils.texi: Document -Mmsa disassembler option.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/doc/binutils.texi3
-rw-r--r--binutils/readelf.c24
3 files changed, 32 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index a75641c..e2d53e0 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
+
+ * readelf.c (display_mips_gnu_attribute): Support Tag_GNU_MIPS_ABI_MSA.
+ * doc/binutils.texi: Document -Mmsa disassembler option.
+
2013-10-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* readelf.c (decode_arm_unwind): Don't initialize `addr'.
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 9176d9b..6abcae2 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -2114,6 +2114,9 @@ Print the 'raw' instruction mnemonic instead of some pseudo
instruction mnemonic. I.e., print 'daddu' or 'or' instead of 'move',
'sll' instead of 'nop', etc.
+@item msa
+Disassemble MSA instructions.
+
@item virt
Disassemble the virtualization ASE instructions.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 2156b78..7920100 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -11769,6 +11769,30 @@ display_mips_gnu_attribute (unsigned char * p,
return p;
}
+ if (tag == Tag_GNU_MIPS_ABI_MSA)
+ {
+ unsigned int len;
+ int val;
+
+ val = read_uleb128 (p, &len, end);
+ p += len;
+ printf (" Tag_GNU_MIPS_ABI_MSA: ");
+
+ switch (val)
+ {
+ case Val_GNU_MIPS_ABI_MSA_ANY:
+ printf (_("Any MSA or not\n"));
+ break;
+ case Val_GNU_MIPS_ABI_MSA_128:
+ printf (_("128-bit MSA\n"));
+ break;
+ default:
+ printf ("??? (%d)\n", val);
+ break;
+ }
+ return p;
+ }
+
return display_tag_value (tag & 1, p, end);
}