summaryrefslogtreecommitdiff
path: root/lld
diff options
context:
space:
mode:
authorGeorge Rimar <grimar@accesssoftek.com>2019-01-10 15:34:33 +0000
committerGeorge Rimar <grimar@accesssoftek.com>2019-01-10 15:34:33 +0000
commit67541a57cd88baa087d92f455e44c0174ce66178 (patch)
tree6f8dcd9ce1ff93fa952bc9d6002db26cb4342e87 /lld
parent9ff1148bc1aaf097c0e3aa6fe06b9a91456d5b02 (diff)
[LLD][ELF] - A follow up for r350819 ("Support MSP430") : add a test case missing.
It got lost for some reason.
Diffstat (limited to 'lld')
-rw-r--r--lld/test/ELF/msp430.s40
1 files changed, 40 insertions, 0 deletions
diff --git a/lld/test/ELF/msp430.s b/lld/test/ELF/msp430.s
new file mode 100644
index 00000000000..2d063696282
--- /dev/null
+++ b/lld/test/ELF/msp430.s
@@ -0,0 +1,40 @@
+; REQUIRES: msp430
+; RUN: llvm-mc -filetype=obj -triple=msp430-elf %s -o %t
+; RUN: llvm-mc -filetype=obj -triple=msp430-elf %S/Inputs/msp430.s -o %t2
+; RUN: ld.lld --Tdata=0x2000 --Ttext=0x8000 --defsym=_byte=0x21 %t2 %t -o %t3
+; RUN: llvm-objdump -s -d %t3 | FileCheck %s
+
+;; Check handling of basic msp430 relocation types.
+
+ .text
+ .global foo
+foo:
+;; R_MSP430_10_PCREL
+ jmp _start
+
+; CHECK: Disassembly of section .text:
+; CHECK-NEXT: _start:
+; CHECK-NEXT: 8000: {{.*}} nop
+; CHECK: foo:
+; CHECK-NEXT: 8004: {{.*}} jmp $-4
+
+;; R_MSP430_16_BYTE
+ call #_start
+
+; CHECK: call #32768
+
+;; R_MSP430_16_PCREL_BYTE
+ mov #-1, _start
+
+; CHECK: 800a: {{.*}} mov #-1, -12
+
+ .data
+;; R_MSP430_8
+ .byte _byte
+;; R_MSP430_16
+ .word _start
+;; R_MSP430_32
+ .long _start
+
+; CHECK: Contents of section .data:
+; CHECK-NEXT: 2000 21008000 800000