RE: Problems with MIPS disassembly and 'rdhwr' instruction...

Monika Chaddha
2005-08-29T13:05:56Z

Hello,

As you have compiled GDB binary for MIPS1 target so it will support only
those instructions which come under MIPS1. In the disassembler table in
file 'src\opcodes\mips-op.c', there is last attribute membership which
is used to mention the architecture tag name. Here it will match the
membership of each instruction with MIPS1 membership name which I think
is I1 and defined as following in same file

#define I1 INSN_ISA1

If it matches then the instruction will be treated as MIPS1 instruction
for disassembly.

{"rdhwr", "t,K", 0x7c00003b, 0xffe007ff, WR_t, I33
},

As here I1 is not present in the above entry in last field so GDB is not
printing disassembly of this instruction. You need to just add
membership tag of MIPS1 in the required above opcode entry as following

{"rdhwr", "t,K", 0x7c00003b, 0xffe007ff, WR_t, I33|I1
},

Please try this. It should work.

Monika

>-----Original Message-----
>From: gdb-owner@sources.redhat.com
[mailto:gdb-owner@sources.redhat.com] On
>Behalf Of Steven J. Hill
>Sent: Monday, August 29, 2005 5:43 PM
>To: gdb@sources.redhat.com
>Subject: Problems with MIPS disassembly and 'rdhwr' instruction...
>
>Greetings.
>
>I am trying to figure out how to get 'rdhwr' instructions to be
>printed when doing a disassembly in gdb on MIPS binaries. My
>binaries are not compiled as mips32r2, but as mips1. This is
>allowable, but it appears that gdb in 'print_insn_mips' will not
>decoded the 'rdhwr' the instruction because it is a mips1 binary?
>I have spent a couple of hours trying to figure out the hashing
>that is done in that function as well as hacking the loop and I
>have come up with nothing. Can someone help me understand the
>hashing better and suggest a method/patch to allow me to get the
>'rdhwrd' instructions to print instead of the hex opcode? Thanks.
>
>-Steve