Home | History | Annotate | Download | only in ARM
      1 @ RUN: llvm-mc -triple thumbv7s-apple-ios9.0 %s -filetype obj -o %t.o
      2 @ RUN: llvm-readobj -r %t.o | FileCheck %s
      3 
      4         .thumb
      5         movw r0, :lower16:_x
      6         movt r0, :upper16:_x
      7 
      8         movw r0, :lower16:_x+4
      9         movt r0, :upper16:_x+4
     10 
     11         movw r0, :lower16:_x+0x10000
     12         movt r0, :upper16:_x+0x10000
     13 
     14         .arm
     15         movw r0, :lower16:_x
     16         movt r0, :upper16:_x
     17 
     18         movw r0, :lower16:_x+4
     19         movt r0, :upper16:_x+4
     20 
     21         movw r0, :lower16:_x+0x10000
     22         movt r0, :upper16:_x+0x10000
     23 
     24 @ Enter the bizarre world of MachO relocations. First, they're in reverse order
     25 @ to the actual instructions
     26 
     27 @ First column on the second line is the "other half" of the addend, its partner
     28 @ being in the instruction itself.
     29 
     30 @ Third column identifies ARM/Thumb & HI/LO.
     31 
     32 @ CHECK: 0x2C 0 1 1 ARM_RELOC_HALF 0 _x
     33 @ CHECK: 0x0 0 1 0 ARM_RELOC_PAIR 0 -
     34 
     35 @ CHECK: 0x28 0 0 1 ARM_RELOC_HALF 0 _x
     36 @ CHECK: 0x1 0 0 0 ARM_RELOC_PAIR 0 -
     37 
     38 @ CHECK: 0x24 0 1 1 ARM_RELOC_HALF 0 _x
     39 @ CHECK: 0x4 0 1 0 ARM_RELOC_PAIR 0 -
     40 
     41 @ CHECK: 0x20 0 0 1 ARM_RELOC_HALF 0 _x
     42 @ CHECK: 0x0 0 0 0 ARM_RELOC_PAIR 0 -
     43 
     44 @ CHECK: 0x1C 0 1 1 ARM_RELOC_HALF 0 _x
     45 @ CHECK: 0x0 0 1 0 ARM_RELOC_PAIR 0 -
     46 
     47 @ CHECK: 0x18 0 0 1 ARM_RELOC_HALF 0 _x
     48 @ CHECK: 0x0 0 0 0 ARM_RELOC_PAIR 0 -
     49 
     50 @ CHECK: 0x14 0 3 1 ARM_RELOC_HALF 0 _x
     51 @ CHECK: 0x0 0 3 0 ARM_RELOC_PAIR 0 -
     52 
     53 @ CHECK: 0x10 0 2 1 ARM_RELOC_HALF 0 _x
     54 @ CHECK: 0x1 0 2 0 ARM_RELOC_PAIR 0 -
     55 
     56 @ CHECK: 0xC 0 3 1 ARM_RELOC_HALF 0 _x
     57 @ CHECK: 0x4 0 3 0 ARM_RELOC_PAIR 0 -
     58 
     59 @ CHECK: 0x8 0 2 1 ARM_RELOC_HALF 0 _x
     60 @ CHECK: 0x0 0 2 0 ARM_RELOC_PAIR 0 -
     61 
     62 @ CHECK: 0x4 0 3 1 ARM_RELOC_HALF 0 _x
     63 @ CHECK: 0x0 0 3 0 ARM_RELOC_PAIR 0 -
     64 
     65 @ CHECK: 0x0 0 2 1 ARM_RELOC_HALF 0 _x
     66 @ CHECK: 0x0 0 2 0 ARM_RELOC_PAIR 0 -
     67