Adding back support for printing operands symbolically to ARM's new disassembler
authorKevin Enderby <enderby@apple.com>
Tue, 4 Oct 2011 22:44:48 +0000 (22:44 +0000)
committerKevin Enderby <enderby@apple.com>
Tue, 4 Oct 2011 22:44:48 +0000 (22:44 +0000)
commit9e5887b17e634b98f7c1cf0ee4f25c218097d08e
tree2c5bc9d59c09fc2fc10bc1b0ee782be59f63060b
parenta8512edb6d1c52209bad2d6b989599bc4872c913
Adding back support for printing operands symbolically to ARM's new disassembler
using llvm's public 'C' disassembler API now including annotations.

Hooked this up to Darwin's otool(1) so it can again print things like branch
targets for example this:
 blx _puts
instead of this:
 blx #-36
and includes support for annotations for branches to symbol stubs like:
 bl 0x40 @ symbol stub for: _puts
and annotations for pc relative loads like this:
 ldr r3, #8 @ literal pool for: Hello, world!
Also again can print the expression encoded in the Mach-O relocation entries for
things like this:
 movt r0, :upper16:((_foo-_bar)+1234)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141129 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm-c/Disassembler.h
include/llvm/MC/MCDisassembler.h
lib/MC/MCDisassembler/Disassembler.cpp
lib/MC/MCInstPrinter.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp