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


>>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


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