[Thumb1] Add relocations for fixups fixup_arm_thumb_{br,bcc}

These need to be mapped through to R_ARM_THM_JUMP{11,8} respectively.

Fixes PR30279.

llvm-svn: 280651
This commit is contained in:
James Molloy 2016-09-05 08:29:15 +00:00
parent a2f8ca9a34
commit 728cf85950
2 changed files with 27 additions and 0 deletions

View File

@ -140,6 +140,12 @@ unsigned ARMELFObjectWriter::GetRelocTypeInner(const MCValue &Target,
case ARM::fixup_t2_movw_lo16:
Type = ELF::R_ARM_THM_MOVW_PREL_NC;
break;
case ARM::fixup_arm_thumb_br:
Type = ELF::R_ARM_THM_JUMP11;
break;
case ARM::fixup_arm_thumb_bcc:
Type = ELF::R_ARM_THM_JUMP8;
break;
case ARM::fixup_arm_thumb_bl:
case ARM::fixup_arm_thumb_blx:
switch (Modifier) {

View File

@ -0,0 +1,21 @@
@ RUN: llvm-mc -triple thumbv6-eabi -filetype obj -o - %s | llvm-readobj -r - \
@ RUN: | FileCheck %s
.syntax unified
.extern h
.section .text.uncond
b h
@CHECK: Section {{.*}} .rel.text.uncond {
@CHECK: 0x0 R_ARM_THM_JUMP11
@CHECK: }
.section .text.cond
ble h
@CHECK: Section {{.*}} .rel.text.cond {
@CHECK: 0x0 R_ARM_THM_JUMP8
@CHECK: }