[llvm-commits] [PATCH] ARM: conditional BL should use fixup_arm_condbranch

Måns Rullgård mans at mansr.com
Thu Mar 22 16:12:00 PDT 2012


Jim Grosbach <grosbach at apple.com> writes:

>> On Mar 19, 2012, at 6:47 AM, Mans Rullgard <mans at mansr.com> wrote:
>>
>>> Using fixup_arm_bl results in an R_ARM_CALL relocation which is not
>>> allowed for conditional BL instructions.
>>> ---
>>> lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp |    6 +++++-
>>> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> This should be handled in the ELF relocation code. The encoder is for
> more than just ELF and this will break Darwin horribly.

Any hints on how to do that properly?  I can't see a way to access the
instruction (to check whether it is conditional) from the ELF relocation
handler.

-- 
Måns Rullgård
mans at mansr.com




More information about the llvm-commits mailing list