This is the mail archive of the 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]

[libopcodes] Switching manually between print_insn_arm and print_insn_thumb(16|32)


I am writing a small disassembler for ARM based on libopcodes. For now,
I managed to get the full ARM mode to be operational (32 bits

But, once I get the disassembler_ftype (I simplified the code):

  abfd->arch_info = bfd_scan_arch ("arm");
  this->disassembler_fn = disassembler(abfd);

How can I switch to thumb mode on demand ?

I would like to get access to print_insn_thumb(16|32) when needed.

I also have a second question which is somehow a bit similar. I would
like to be able to decide what endianness is selected in the abdf
structure. I tried to access directly to the field and set it:

  (abfd)->xvec->byteorder = BFD_ENDIAN_BIG;

But, the xvec created by new_bfd() seems to be read-only. Is there a way
to work around and be able to modify endianness on-the-fly ?

Emmanuel Fleury

Computer Science is no more about computers than astronomy is
about telescopes.
  -- Edsger Dijkstra

Attachment: signature.asc
Description: OpenPGP digital signature

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