This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: objdump fails for ColdFire


Hi Peter,

I think this is caused by the disassembler picking only *one* entry
out of the table and then checking the if the args match the
patterns:

{"movel",	one(0020000),	one(0170000), "ms%d", mcf },
{"movel",	one(0020000),	one(0170000), "nspd", mcf },
{"movel",	one(0020000),	one(0170000), "olmd", mcf },

Note that the mask and bits are the same for each pattern, its down to
the args to determine which form is valid.


To fix this I'm thinking of looping over the table for each match of
the masked opcode and if the args match, accept it.



This is probably a good idea. It would be nice to have this code cleaned up somewhat.


I see in the function opcodes/m68k-dis.c:print_insn_m68k() that there is already some special case code for the divul, divsl and other instructions. So maybe you could also add some code there.

Cheers
 Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]