aboutsummaryrefslogtreecommitdiff
path: root/test/ELF/mips-gp-local.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/ELF/mips-gp-local.s')
-rw-r--r--test/ELF/mips-gp-local.s20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/ELF/mips-gp-local.s b/test/ELF/mips-gp-local.s
new file mode 100644
index 000000000..b77dbb836
--- /dev/null
+++ b/test/ELF/mips-gp-local.s
@@ -0,0 +1,20 @@
+# Check handling of relocations against __gnu_local_gp symbol.
+
+# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o
+# RUN: ld.lld -o %t.exe %t.o
+# RUN: llvm-objdump -d -t %t.exe | FileCheck %s
+
+# REQUIRES: mips
+
+# CHECK: Disassembly of section .text:
+# CHECK-NEXT: __start:
+# CHECK-NEXT: 20000: 3c 08 00 03 lui $8, 3
+# CHECK-NEXT: 20004: 21 08 7f f0 addi $8, $8, 32752
+
+# CHECK: 00037ff0 *ABS* 00000000 .hidden _gp
+
+ .text
+ .globl __start
+__start:
+ lui $t0,%hi(__gnu_local_gp)
+ addi $t0,$t0,%lo(__gnu_local_gp)