Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Disassembler: Query about 'membership' field in the 'mips_opcode structure'
@ 2004-03-04 15:44 Monika Chaddha
  2004-03-05  5:09 ` Andrew Cagney
  0 siblings, 1 reply; 4+ messages in thread
From: Monika Chaddha @ 2004-03-04 15:44 UTC (permalink / raw)
  To: gdb

I am trying to disassemble some instructions (clo,...) under target
'mipsisa32-elf', which are not disassembling properly. In doing so, I
have gone through the source in 'mips.h', 'mips-dis.c' and 'mips-opc.c'
files.

Following are the some of my observations:

1) There is a list of architecture choices maintained in a structure
array ('mips-dis.c').

		const struct mips_arch_choice mips_arch_choices[]

initialized to 

......
  { "r4000",	1, bfd_mach_mips4000, CPU_R4000, ISA_MIPS3,
    mips_cp0_names_numeric, NULL, 0, mips_hwr_names_numeric }
.....

{ "mips32",	1, bfd_mach_mipsisa32, CPU_MIPS32,
    ISA_MIPS32 | INSN_MIPS16,
    mips_cp0_names_mips3264,
    mips_cp0sel_names_mips3264, ARRAY_SIZE (mips_cp0sel_names_mips3264),
    mips_hwr_names_numeric },


2) This array is used by a function 'choose_arch_by_number(mach)' in the
same file to make the choice, depending on the value of 'mach'

3) Latter I found that the 'mach' is getting its value from 

		"current_gdbarch->bfd_arch_info->mach"
The value is 4000. This value remains to be same irrespective of the
architectures.

4) Because of this value I able to disassemble only ISA_MIPS3 set
instruction.

5) How do I disassemble ISA_MIPS32 instructions?

6) How do I change my current architecture as "mips32"?

7) Instructions getting disassembled based on 'membership' parameter.
There are some macro like I1,I2,I3, I32,.... I have tried I32, but still
it is not working.

Do we need to do any configuration changes?

Thanks 
Monika.



^ permalink raw reply	[flat|nested] 4+ messages in thread
* Disassembler: Query about 'membership' field in the 'mips_opcode structure'
@ 2004-03-18  6:18 Monika Chaddha
  0 siblings, 0 replies; 4+ messages in thread
From: Monika Chaddha @ 2004-03-18  6:18 UTC (permalink / raw)
  To: gdb; +Cc: 'Andrew Cagney'



Thanks for this help!!
Yes, this is working fine. After executing 'set architecture mips:isa32'
command, all instructions under I32 membership are displaying correctly.

But still I have one query that if I configure, build and install my
gdb6.0 for target=mipsisa32-elf, than why should I set architecture
again for disassembler? I have no problem in simulator part than why in
disassembler?

Monika Chaddha


>-----Original Message-----
>From: Andrew Cagney [mailto:cagney@gnu.org]
>Sent: Friday, March 05, 2004 10:39 AM
>To: Monika Chaddha
>Cc: gdb@sources.redhat.com
>Subject: Re: Disassembler: Query about 'membership' field in the
>'mips_opcode structure'
>
>> 6) How do I change my current architecture as "mips32"?
>
>(gdb) set architecture <tab>
>
>it sounds like your executable isn't being identified as mips32.  Look
>at mips_gdbarch_init.
>
>Andrew
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-03-18  6:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-04 15:44 Disassembler: Query about 'membership' field in the 'mips_opcode structure' Monika Chaddha
2004-03-05  5:09 ` Andrew Cagney
2004-03-16  7:15   ` Monika Chaddha
2004-03-18  6:18 Monika Chaddha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox