Re: Is this "gdb disassembler" code still needed?

Richard Sandiford <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
"Maciej W. Rozycki" <[email protected]> writes:
> On Wed, 26 Jun 2013, Richard Sandiford wrote:
>
>> >  Other than that I am fairly sure the behaviour is intentional, so except 
>> > from any microMIPS change to match the MIPS16 variant please refrain from 
>> > fiddling with these bits until I am done with the change proposed here:
>> >
>> > http://sourceware.org/ml/binutils/2012-05/msg00183.html
>> > http://sourceware.org/ml/binutils/2012-06/msg00114.html
>> 
>> OK, thanks.  I'll change microMIPS to match MIPS16 like you say.
>
>  What happened to this code after your recent changes?  I get rubbish in 
> disassembly now, e.g.:
>
> Dump of assembler code for function t1:
>    0x00400991 <+0>:	save	a0-a3,32,ra,s1
>    0x00400995 <+4>:	addiu	s1,sp,16
>    0x00400997 <+6>:	lw	v1,0x4009f4 <t1+99>
>    0x00400999 <+8>:	lw	v0,0x4009f0 <t1+95>
>    0x0040099b <+10>:	move	t9,v1
>    0x0040099d <+12>:	move	t8,v0
>    0x0040099f <+14>:	lw	v0,24(s1)
>    0x004009a1 <+16>:	move	a1,t9
>    0x004009a3 <+18>:	move	a0,t8
>    0x004009a5 <+20>:	jal	0x400da0 <exit@mips16plt+15>
>    0x004009a9 <+24>:	nop
> [...]

Gah, sorry.  The code is still there, but I think in the MIPS16 case it's
being thwarted by an even base address.  Does this fix it?  (microMIPS
should be OK.)

Richard


opcodes/
	* mips-dis.c (print_mips16_insn_arg): Include ISA bit in base address.

Index: opcodes/mips-dis.c
===================================================================
--- opcodes/mips-dis.c	2013-07-31 18:16:42.972774949 +0100
+++ opcodes/mips-dis.c	2013-07-31 18:19:37.661036158 +0100
@@ -1565,7 +1565,7 @@ print_mips16_insn_arg (struct disassembl
 	     }
 	}
 
-      print_insn_arg (info, state, opcode, operand, baseaddr, uval);
+      print_insn_arg (info, state, opcode, operand, baseaddr + 1, uval);
       break;
     }
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.