llvm-6502/test/MC/ARM/macho-relocs-with-addend.s
Tim Northover 0f9d1b381e ARM: when falling back to scattered relocs, keep the type.
The linker relies on relocation type info (e.g. is it a branch?) to perform the
correct actions, so we should keep that even when we end up using a scattered
relocation for whatever reason.

rdar://problem/17553104

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212333 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-04 10:58:05 +00:00

35 lines
896 B
ArmAsm

@ RUN: llvm-mc -triple thumbv7-apple-ios7.0 -filetype=obj -o - %s | \
@ RUN: llvm-readobj -r - | FileCheck %s
@ MachO relocations that end up expressed as internal
@ (scattered) still need to have the type set correctly.
.text
.thumb_func
.thumb
.globl _with_thumb
_with_thumb:
bl _dest+10
blx _dest+20
.globl _with_arm
.arm
_with_arm:
bl _dest+10
blx _dest+20
bne _dest+30
b _dest+40
.data
_dest:
.word 42
@ CHECK: Relocations [
@ CHECK-NEXT: Section __text {
@ CHECK-NEXT: 0x14 1 2 n/a ARM_RELOC_BR24 1 0x18
@ CHECK-NEXT: 0x10 1 2 n/a ARM_RELOC_BR24 1 0x18
@ CHECK-NEXT: 0xC 1 2 n/a ARM_RELOC_BR24 1 0x18
@ CHECK-NEXT: 0x8 1 2 n/a ARM_RELOC_BR24 1 0x18
@ CHECK-NEXT: 0x4 1 2 n/a ARM_THUMB_RELOC_BR22 1 0x18
@ CHECK-NEXT: 0x0 1 2 n/a ARM_THUMB_RELOC_BR22 1 0x18