Add support for parsing ARM symbol variants on ELF targets
[oota-llvm.git] / test / MC / ARM / symbol-variants.s
1 @ RUN: llvm-mc < %s -triple armv7-none-linux-gnueabi -filetype=obj  | llvm-objdump -triple armv7-none-linux-gnueabi -r - | FileCheck %s --check-prefix=CHECK --check-prefix=ARM
2 @ RUN: llvm-mc < %s -triple thumbv7-none-linux-gnueabi -filetype=obj  | llvm-objdump -triple thumbv7-none-linux-gnueabi -r - | FileCheck %s --check-prefix=CHECK --check-prefix=THUMB
3
4 @ CHECK-LABEL: RELOCATION RECORDS FOR [.rel.text]
5
6 @ empty
7 .word f00
8 .word f01
9 @CHECK: 0 R_ARM_ABS32 f00
10 @CHECK: 4 R_ARM_ABS32 f01
11
12 @ none
13 .word f02(NONE)
14 .word f03(none)
15 @CHECK: 8 R_ARM_NONE f02
16 @CHECK: 12 R_ARM_NONE f03
17
18 @ plt
19 bl f04(PLT)
20 bl f05(plt)
21 @ARM: 16 R_ARM_PLT32 f04
22 @ARM: 20 R_ARM_PLT32 f05
23 @THUMB: 16 R_ARM_THM_CALL f04
24 @THUMB: 20 R_ARM_THM_CALL f05
25
26 @ got
27 .word f06(GOT)
28 .word f07(got)
29 @CHECK: 24 R_ARM_GOT_BREL f06
30 @CHECK: 28 R_ARM_GOT_BREL f07
31
32 @ gotoff
33 .word f08(GOTOFF)
34 .word f09(gotoff)
35 @CHECK: 32 R_ARM_GOTOFF32 f08
36 @CHECK: 36 R_ARM_GOTOFF32 f09
37
38 @ tpoff
39 .word f10(TPOFF)
40 .word f11(tpoff)
41 @CHECK: 40 R_ARM_TLS_LE32 f10
42 @CHECK: 44 R_ARM_TLS_LE32 f11
43
44 @ tlsgd
45 .word f12(TLSGD)
46 .word f13(tlsgd)
47 @CHECK: 48 R_ARM_TLS_GD32 f12
48 @CHECK: 52 R_ARM_TLS_GD32 f13
49
50 @ target1
51 .word f14(TARGET1)
52 .word f15(target1)
53 @CHECK: 56 R_ARM_TARGET1 f14
54 @CHECK: 60 R_ARM_TARGET1 f15
55
56 @ target2
57 .word f16(TARGET2)
58 .word f17(target2)
59 @CHECK: 64 R_ARM_TARGET2 f16
60 @CHECK: 68 R_ARM_TARGET2 f17
61
62 @ prel31
63 .word f18(PREL31)
64 .word f19(prel31)
65 @CHECK: 72 R_ARM_PREL31 f18
66 @CHECK: 76 R_ARM_PREL31 f19
67