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

James Molloy via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 5 01:29:16 PDT 2016


Author: jamesm
Date: Mon Sep  5 03:29:15 2016
New Revision: 280651

URL: http://llvm.org/viewvc/llvm-project?rev=280651&view=rev
Log:
[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.

Added:
    llvm/trunk/test/MC/ARM/thumb1-branch-reloc.s
Modified:
    llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp

Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp?rev=280651&r1=280650&r2=280651&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp Mon Sep  5 03:29:15 2016
@@ -140,6 +140,12 @@ unsigned ARMELFObjectWriter::GetRelocTyp
     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) {

Added: llvm/trunk/test/MC/ARM/thumb1-branch-reloc.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/thumb1-branch-reloc.s?rev=280651&view=auto
==============================================================================
--- llvm/trunk/test/MC/ARM/thumb1-branch-reloc.s (added)
+++ llvm/trunk/test/MC/ARM/thumb1-branch-reloc.s Mon Sep  5 03:29:15 2016
@@ -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
+        
+ at CHECK: Section {{.*}} .rel.text.uncond {
+ at CHECK:   0x0 R_ARM_THM_JUMP11
+ at CHECK: }
+        .section .text.cond
+
+        ble h
+
+ at CHECK: Section {{.*}} .rel.text.cond {
+ at CHECK:   0x0 R_ARM_THM_JUMP8
+ at CHECK: }
+        
\ No newline at end of file




More information about the llvm-commits mailing list