diff options
author | Chao-ying Fu <fu@mips.com> | 2013-10-14 18:45:46 +0000 |
---|---|---|
committer | Chao-ying Fu <fu@mips.com> | 2013-10-14 18:45:46 +0000 |
commit | a9f581680fe1de047447931494b70fa0d8da9e42 (patch) | |
tree | abd7a57660e2e9615d87a6036e2708727e54dbf9 /binutils | |
parent | b60bf9be01d4b642d5bc669f88af9509a05bd60f (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/doc/binutils.texi | 3 | ||||
-rw-r--r-- | binutils/readelf.c | 24 |
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); } |