ARM BL/BLX instruction fixups should use relocations.
authorJim Grosbach <grosbach@apple.com>
Mon, 27 Feb 2012 21:36:23 +0000 (21:36 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 27 Feb 2012 21:36:23 +0000 (21:36 +0000)
commit7b25ecf6adbf3c4709c48033acfeb6ebbb4452ab
tree649c04d8126e29b74b9881df0434fadd4aec39d9
parent945c2b3965a5d327055f624dd5dab659551da108
ARM BL/BLX instruction fixups should use relocations.

We on the linker to resolve calls to the appropriate BL/BLX instruction
to make interworking function correctly. It uses the symbol in the
relocation to do that, so we need to be careful about being too clever.

To enable this for ARM mode, split the BL/BLX fixup kind off from the
unconditional-branch fixups.

rdar://10927209

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151571 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCAsmBackend.h
lib/MC/MCAssembler.cpp
lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h
lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
test/MC/ARM/arm_fixups.s
test/MC/ARM/basic-arm-instructions.s