This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: objdump fails for ColdFire
>>I'm thinking of splitting print_insn_m68k into two parts, the first
>>part which iterates over the table looking for opcodes that match, and
>>the second whihc would either accept an instruction (based on
>>opc->args) and print it out, or reject it. This function would be
>>called from the loop where 'best' is updated, and if reutrns a
>>non-zero then it had accepted and printed out the function.
>>
>>
>This is a very good idea. Note - you can use booleans rather than
>zero/non-zero for the return value.
>
>>I'm also looking at all the special code to deal with deciding which
>>alternates (i.e, wait for fmoveml instead of fmove if more than one
>>register) which appearenly is there since the opcode table is layed
>>out in alphabetical order instead of an order that would best suit the
>>disassembler. (then this special case wouldn't have to be there since
>>fmoveml could be placed *before* fmovel).
>>
>>
>Excellent - anything that removes special cases in favour of a more
>generic approach will get the thumbs up from me.
Ok, I'll start working on this. First I'll fix print_insn_m68k to
loop over templates looking for an instuction that matches its args
and submit that as a patch. Then I'll look at rearranging the opcode
table to remove the special case code and submit as another patch.
--
Peter Barada
peter@the-baradas.com