aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuzhensong <liuzhensong@loongson.cn>2022-07-11 11:02:44 +0800
committerWANG Xuerui <git@xen0n.name>2022-08-07 18:51:07 +0800
commitaa40e61dc266ebbb3b7f6305378cb50f38679463 (patch)
tree0dc826a5b5a79450876950a41a013f8cd156e5af
parentbfd: Delete R_LARCH_NONE from dyn info of LoongArch. (diff)
downloadbinutils-gdb-aa40e61dc266ebbb3b7f6305378cb50f38679463.tar.gz
binutils-gdb-aa40e61dc266ebbb3b7f6305378cb50f38679463.tar.bz2
binutils-gdb-aa40e61dc266ebbb3b7f6305378cb50f38679463.zip
LoongArch: Add testcases for new relocate types.
gas/testsuite/gas/all/ gas.exp gas/testsuite/gas/loongarch/ jmp_op.d jmp_op.s macro_op.d macro_op.s macro_op_32.d macro_op_32.s macro_op_large_abs.d macro_op_large_abs.s macro_op_large_pc.d macro_op_large_pc.s reloc.d reloc.s ld/testsuite/ld-elf/ pr26936.d shared.exp ld/testsuite/ld-loongarch-elf/ attr-ifunc-4.c attr-ifunc-4.out disas-jirl.d ifunc.exp jmp_op.d jmp_op.s libnopic-global.s macro_op.d macro_op.s macro_op_32.d macro_op_32.s nopic-global-so.rd nopic-global-so.sd nopic-global.out nopic-global.s nopic-global.sd nopic-global.xd nopic-local.out nopic-local.rd nopic-local.s nopic-local.sd nopic-local.xd nopic-weak-global-so.rd nopic-weak-global-so.sd nopic-weak-global.out nopic-weak-global.s nopic-weak-global.sd nopic-weak-global.xd nopic-weak-local.out nopic-weak-local.rd nopic-weak-local.s nopic-weak-local.sd nopic-weak-local.xd pic.exp pic.ld (cherry picked from commit 2cb10f02b0e0d0d062c97c19defef1e5e334b13b)
-rw-r--r--gas/testsuite/gas/all/gas.exp4
-rw-r--r--gas/testsuite/gas/loongarch/jmp_op.d82
-rw-r--r--gas/testsuite/gas/loongarch/jmp_op.s38
-rw-r--r--gas/testsuite/gas/loongarch/macro_op.d778
-rw-r--r--gas/testsuite/gas/loongarch/macro_op.s44
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_32.d55
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_32.s16
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_abs.d77
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_abs.s9
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_pc.d77
-rw-r--r--gas/testsuite/gas/loongarch/macro_op_large_pc.s9
-rw-r--r--gas/testsuite/gas/loongarch/reloc.d167
-rw-r--r--gas/testsuite/gas/loongarch/reloc.s144
-rw-r--r--ld/testsuite/ld-elf/pr26936.d2
-rw-r--r--ld/testsuite/ld-elf/shared.exp6
-rw-r--r--ld/testsuite/ld-loongarch-elf/attr-ifunc-4.c23
-rw-r--r--ld/testsuite/ld-loongarch-elf/attr-ifunc-4.out1
-rw-r--r--ld/testsuite/ld-loongarch-elf/disas-jirl-32.d18
-rw-r--r--ld/testsuite/ld-loongarch-elf/disas-jirl.d19
-rw-r--r--ld/testsuite/ld-loongarch-elf/ifunc.exp34
-rw-r--r--ld/testsuite/ld-loongarch-elf/jmp_op.d84
-rw-r--r--ld/testsuite/ld-loongarch-elf/jmp_op.s42
-rw-r--r--ld/testsuite/ld-loongarch-elf/libnopic-global.s113
-rw-r--r--ld/testsuite/ld-loongarch-elf/macro_op.d883
-rw-r--r--ld/testsuite/ld-loongarch-elf/macro_op.s57
-rw-r--r--ld/testsuite/ld-loongarch-elf/macro_op_32.d768
-rw-r--r--ld/testsuite/ld-loongarch-elf/macro_op_32.s43
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-global-so.rd5
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-global-so.sd10
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-global.out1
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-global.s373
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-global.sd5
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-global.xd3
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-local.out1
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-local.rd0
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-local.s383
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-local.sd5
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-local.xd3
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.rd5
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.sd10
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-global.out1
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-global.s374
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-global.sd5
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-global.xd3
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-local.out1
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-local.rd0
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-local.s383
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-local.sd5
-rw-r--r--ld/testsuite/ld-loongarch-elf/nopic-weak-local.xd3
-rw-r--r--ld/testsuite/ld-loongarch-elf/pic.exp202
-rw-r--r--ld/testsuite/ld-loongarch-elf/pic.ld18
51 files changed, 2949 insertions, 2443 deletions
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index 279d9b3db2b..28570c53ac5 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -166,11 +166,11 @@ switch -glob $target_triplet {
# symbols on relocs.
setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*"
setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*"
- setup_xfail "loongarch*-*-*" "avr-*-*"
+ setup_xfail "avr-*-*"
run_dump_test redef2
setup_xfail "m68hc1*-*-*" "m6811-*-*" "m6812-*-*" "rl78-*-*"
setup_xfail "riscv*-*-*" "rx-*-*" "vax*-*-*" "xgate*-*-*" "z8k-*-*"
- setup_xfail "loongarch*-*-*" "avr-*-*"
+ setup_xfail "avr-*-*"
# rs6000-aix disallows redefinition via .comm.
if [is_xcoff_format] {
setup_xfail *-*-*
diff --git a/gas/testsuite/gas/loongarch/jmp_op.d b/gas/testsuite/gas/loongarch/jmp_op.d
index caa61951b4b..fa939c780ed 100644
--- a/gas/testsuite/gas/loongarch/jmp_op.d
+++ b/gas/testsuite/gas/loongarch/jmp_op.d
@@ -1,68 +1,30 @@
#as:
#objdump: -dr
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
00000000.* <.text>:
-[ ]+0:[ ]+03400000 [ ]+andi[ ]+[ ]+\$zero, \$zero, 0x0
-[ ]+4:[ ]+60000004 [ ]+bgtz[ ]+[ ]+\$a0, 0[ ]+# 0x4
-[ ]+[ ]+[ ]+4: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+4: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+8:[ ]+64000080 [ ]+bgez[ ]+[ ]+\$a0, 0[ ]+# 0x8
-[ ]+[ ]+[ ]+8: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+8: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+c:[ ]+64000004 [ ]+blez[ ]+[ ]+\$a0, 0[ ]+# 0xc
-[ ]+[ ]+[ ]+c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+10:[ ]+40000080 [ ]+beqz[ ]+[ ]+\$a0, 0[ ]+# 0x10
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+14:[ ]+44000080 [ ]+bnez[ ]+[ ]+\$a0, 0[ ]+# 0x14
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+18:[ ]+48000000 [ ]+bceqz[ ]+[ ]+\$fcc0, 0[ ]+# 0x18
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+1c:[ ]+48000100 [ ]+bcnez[ ]+[ ]+\$fcc0, 0[ ]+# 0x1c
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+20:[ ]+4c000080 [ ]+jirl[ ]+[ ]+\$zero, \$a0, 0
-[ ]+24:[ ]+50000000 [ ]+b[ ]+[ ]+0[ ]+# 0x24
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_S_0_10_10_16_S2[ ]+\*ABS\*
-[ ]+28:[ ]+54000000 [ ]+bl[ ]+[ ]+0[ ]+# 0x28
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_0_10_10_16_S2[ ]+\*ABS\*
-[ ]+2c:[ ]+58000085 [ ]+beq[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x2c
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+30:[ ]+5c000085 [ ]+bne[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x30
-[ ]+[ ]+[ ]+30: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+30: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+34:[ ]+60000085 [ ]+blt[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x34
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+38:[ ]+600000a4 [ ]+blt[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x38
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+3c:[ ]+64000085 [ ]+bge[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x3c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+40:[ ]+640000a4 [ ]+bge[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x40
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+44:[ ]+68000085 [ ]+bltu[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x44
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+48:[ ]+680000a4 [ ]+bltu[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x48
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+4c:[ ]+6c000085 [ ]+bgeu[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x4c
-[ ]+[ ]+[ ]+4c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+4c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+50:[ ]+6c0000a4 [ ]+bgeu[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x50
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
+[ ]+0:[ ]+03400000[ ]+[ ]+andi[ ]+\$zero, \$zero, 0x0
+[ ]+4:[ ]+63fffc04[ ]+[ ]+bgtz[ ]+\$a0, -4\(0x3fffc\)[ ]+# 0x0
+[ ]+8:[ ]+67fff880[ ]+[ ]+bgez[ ]+\$a0, -8\(0x3fff8\)[ ]+# 0x0
+[ ]+c:[ ]+67fff404[ ]+[ ]+blez[ ]+\$a0, -12\(0x3fff4\)[ ]+# 0x0
+[ ]+10:[ ]+43fff09f[ ]+[ ]+beqz[ ]+\$a0, -16\(0x7ffff0\)[ ]+# 0x0
+[ ]+14:[ ]+47ffec9f[ ]+[ ]+bnez[ ]+\$a0, -20\(0x7fffec\)[ ]+# 0x0
+[ ]+18:[ ]+4bffe81f[ ]+[ ]+bceqz[ ]+\$fcc0, -24\(0x7fffe8\)[ ]+# 0x0
+[ ]+1c:[ ]+4bffe51f[ ]+[ ]+bcnez[ ]+\$fcc0, -28\(0x7fffe4\)[ ]+# 0x0
+[ ]+20:[ ]+4c000080[ ]+[ ]+jirl[ ]+\$zero, \$a0, 0
+[ ]+24:[ ]+53ffdfff[ ]+[ ]+b[ ]+-36\(0xfffffdc\)[ ]+# 0x0
+[ ]+28:[ ]+57ffdbff[ ]+[ ]+bl[ ]+-40\(0xfffffd8\)[ ]+# 0x0
+[ ]+2c:[ ]+5bffd485[ ]+[ ]+beq[ ]+\$a0, \$a1, -44\(0x3ffd4\)[ ]+# 0x0
+[ ]+30:[ ]+5fffd085[ ]+[ ]+bne[ ]+\$a0, \$a1, -48\(0x3ffd0\)[ ]+# 0x0
+[ ]+34:[ ]+63ffcc85[ ]+[ ]+blt[ ]+\$a0, \$a1, -52\(0x3ffcc\)[ ]+# 0x0
+[ ]+38:[ ]+63ffc8a4[ ]+[ ]+blt[ ]+\$a1, \$a0, -56\(0x3ffc8\)[ ]+# 0x0
+[ ]+3c:[ ]+67ffc485[ ]+[ ]+bge[ ]+\$a0, \$a1, -60\(0x3ffc4\)[ ]+# 0x0
+[ ]+40:[ ]+67ffc0a4[ ]+[ ]+bge[ ]+\$a1, \$a0, -64\(0x3ffc0\)[ ]+# 0x0
+[ ]+44:[ ]+6bffbc85[ ]+[ ]+bltu[ ]+\$a0, \$a1, -68\(0x3ffbc\)[ ]+# 0x0
+[ ]+48:[ ]+6bffb8a4[ ]+[ ]+bltu[ ]+\$a1, \$a0, -72\(0x3ffb8\)[ ]+# 0x0
+[ ]+4c:[ ]+6fffb485[ ]+[ ]+bgeu[ ]+\$a0, \$a1, -76\(0x3ffb4\)[ ]+# 0x0
+[ ]+50:[ ]+6fffb0a4[ ]+[ ]+bgeu[ ]+\$a1, \$a0, -80\(0x3ffb0\)[ ]+# 0x0
diff --git a/gas/testsuite/gas/loongarch/jmp_op.s b/gas/testsuite/gas/loongarch/jmp_op.s
index 2ec20ed828a..1deb165aeba 100644
--- a/gas/testsuite/gas/loongarch/jmp_op.s
+++ b/gas/testsuite/gas/loongarch/jmp_op.s
@@ -1,22 +1,22 @@
.L1:
nop
-bgtz $r4,L1
-bgez $r4,L1
-blez $r4,L1
-beqz $r4,L1
-bnez $r4,L1
-bceqz $fcc0,L1
-bcnez $fcc0,L1
+bgtz $r4,.L1
+bgez $r4,.L1
+blez $r4,.L1
+beqz $r4,.L1
+bnez $r4,.L1
+bceqz $fcc0,.L1
+bcnez $fcc0,.L1
jr $r4
-b L1
-bl L1
-beq $r4,$r5,L1
-bne $r4,$r5,L1
-blt $r4,$r5,L1
-bgt $r4,$r5,L1
-bge $r4,$r5,L1
-ble $r4,$r5,L1
-bltu $r4,$r5,L1
-bgtu $r4,$r5,L1
-bgeu $r4,$r5,L1
-bleu $r4,$r5,L1
+b .L1
+bl .L1
+beq $r4,$r5,.L1
+bne $r4,$r5,.L1
+blt $r4,$r5,.L1
+bgt $r4,$r5,.L1
+bge $r4,$r5,.L1
+ble $r4,$r5,.L1
+bltu $r4,$r5,.L1
+bgtu $r4,$r5,.L1
+bgeu $r4,$r5,.L1
+bleu $r4,$r5,.L1
diff --git a/gas/testsuite/gas/loongarch/macro_op.d b/gas/testsuite/gas/loongarch/macro_op.d
index fabd006b8c1..d264c4f25c5 100644
--- a/gas/testsuite/gas/loongarch/macro_op.d
+++ b/gas/testsuite/gas/loongarch/macro_op.d
@@ -1,733 +1,59 @@
#as:
#objdump: -dr
-#skip: loongarch32*-*-*
+#skip: loongarch32-*-*
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-0000000000000000 <.text>:
-[ ]+0:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+4:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+8:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+c:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+10:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+14:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+18:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+1c:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+20:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+24:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+28:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+2c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+30:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+34:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+38:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+3c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+40:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+44:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+48:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+4c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+50:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+54:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+58:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+5c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+60:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+64:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+68:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+6c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+70:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+74:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+78:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+7c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+80:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+84:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+88:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+8c:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+90:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+94:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+98:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+9c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+a0:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+a4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+a4: R_LARCH_MARK_LA[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+a8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+ac:[ ]+16000004 [ ]+lu32i.d[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b0:[ ]+03000084 [ ]+lu52i.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+b4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b8:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+bc:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c0:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+c4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c8:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+cc:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+d0:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+d4:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+d8:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+dc:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+e0:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+e4:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+e8:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+ec:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+f0:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+f4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+f8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+fc:[ ]+16000004 [ ]+lu32i.d[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+100:[ ]+03000084 [ ]+lu52i.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+104:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+108:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+10c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+110:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+114:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+118:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+11c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+120:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+124:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+128:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+12c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+130:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+134:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+138:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+13c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+140:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+144:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+148:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+14c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+150:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+154:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
+00000000.* <.text>:
+[ ]+0:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+4:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+8:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+c:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+10:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+10:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+14:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+18:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+1c:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+20:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+20:[ ]+R_LARCH_PCALA_HI20[ ]+.L1
+[ ]+24:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+24:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+28:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_MARK_LA[ ]+\*ABS\*
+[ ]+28:[ ]+R_LARCH_ABS_HI20[ ]+.L1
+[ ]+2c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+2c:[ ]+R_LARCH_ABS_LO12[ ]+.L1
+[ ]+30:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_ABS64_LO20[ ]+.L1
+[ ]+34:[ ]+03000084[ ]+lu52i.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+34:[ ]+R_LARCH_ABS64_HI12[ ]+.L1
+[ ]+38:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_PCALA_HI20[ ]+.L1
+[ ]+3c:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+40:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+44:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+48:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+4c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+4c:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+54:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+60:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+60:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+64:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+64:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op.s b/gas/testsuite/gas/loongarch/macro_op.s
index d83261f55f0..0c3331416fd 100644
--- a/gas/testsuite/gas/loongarch/macro_op.s
+++ b/gas/testsuite/gas/loongarch/macro_op.s
@@ -1,29 +1,15 @@
-.L1:
-li.w $r4,0
-li.w $r4,0xffffffff
-li.d $r4,0
-li.d $r4,0xffffffffffffffff
-la $r4,L1
-la.global $r4,L1
-la.global $r4,$r5,L1
-la.global $r4,L1
-la.global $r4,$r5,L1
-la.global $r4,L1
-la.global $r4,$r5,L1
-la.local $r4,L1
-la.local $r4,$r5,L1
-la.local $r4,L1
-la.local $r4,$r5,L1
-la.abs $r4,L1
-la.pcrel $r4,L1
-la.pcrel $r4,L1
-la.pcrel $r4,$r5,L1
-la.got $r4,L1
-la.got $r4,$r5,L1
-la.tls.le $r4,L1
-la.tls.ie $r4,L1
-la.tls.ie $r4,$r5,L1
-la.tls.ld $r4,L1
-la.tls.ld $r4,$r5,L1
-la.tls.gd $r4,L1
-la.tls.gd $r4,$r5,L1
+li.w $r4, 0
+li.w $r4, 0xffffffff
+li.d $r4, 0
+li.d $r4, 0xffffffffffffffff
+la $r4, .L1
+la.global $r4, .L1
+la.local $r4, .L1
+la.abs $r4, .L1
+la.pcrel $r4, .L1
+la.got $r4, .L1
+
+la.tls.le $r4, TLS1
+la.tls.ie $r4, TLS1
+la.tls.ld $r4, TLS1
+la.tls.gd $r4, TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_32.d b/gas/testsuite/gas/loongarch/macro_op_32.d
new file mode 100644
index 00000000000..145d852b2be
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_32.d
@@ -0,0 +1,55 @@
+#as:
+#objdump: -dr
+#skip: loongarch64-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+4:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+8:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+c:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+10:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+10:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+14:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+18:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+1c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+20:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+20:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+24:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+24:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+28:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_MARK_LA[ ]+\*ABS\*
+[ ]+28:[ ]+R_LARCH_ABS_HI20[ ]+.text
+[ ]+2c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+2c:[ ]+R_LARCH_ABS_LO12[ ]+.text
+[ ]+30:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+34:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+38:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+3c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+40:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+44:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+44:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+48:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+4c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+4c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+54:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_32.s b/gas/testsuite/gas/loongarch/macro_op_32.s
new file mode 100644
index 00000000000..7f19565e156
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_32.s
@@ -0,0 +1,16 @@
+.L1:
+ li.w $r4, 0
+ li.w $r4, 0xffffffff
+ li.w $r4, 0
+ li.w $r4, 0xffffffff
+ la $r4, .L1
+ la.global $r4, .L1
+ la.local $r4, .L1
+ la.abs $r4, .L1
+ la.pcrel $r4, .L1
+ la.got $r4, .L1
+
+ la.tls.le $r4, TLS1
+ la.tls.ie $r4, TLS1
+ la.tls.ld $r4, TLS1
+ la.tls.gd $r4, TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_abs.d b/gas/testsuite/gas/loongarch/macro_op_large_abs.d
new file mode 100644
index 00000000000..c3214a859e6
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_abs.d
@@ -0,0 +1,77 @@
+#as:
+#objdump: -dr
+#skip: loongarch32-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+0:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+4:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+4:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+8:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+8:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+c:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+10:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+14:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+18:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+1c:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+20:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+20:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+24:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+28:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+2c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+2c:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+30:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+34:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+38:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+3c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+40:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+44:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+48:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+4c:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+50:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+54:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+54:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+5c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+60:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+60:[ ]+R_LARCH_TLS_IE64_PC_LO20[ ]+TLS1
+[ ]+64:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+64:[ ]+R_LARCH_TLS_IE64_PC_HI12[ ]+TLS1
+[ ]+68:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+6c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+70:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+70:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+74:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+74:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+78:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+78:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+7c:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+80:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+80:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+84:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+84:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+88:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+88:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+8c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+8c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+90:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_abs.s b/gas/testsuite/gas/loongarch/macro_op_large_abs.s
new file mode 100644
index 00000000000..fd76391dbea
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_abs.s
@@ -0,0 +1,9 @@
+.L1:
+la.local $r4, $r5, .L1
+la.global $r4, $r5, .L1
+la.pcrel $r4, $r5, .L1
+la.got $r4, $r5, .L1
+la.tls.le $r4, TLS1
+la.tls.ie $r4, $r5, TLS1
+la.tls.ld $r4, $r5, TLS1
+la.tls.gd $r4, $r5, TLS1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_pc.d b/gas/testsuite/gas/loongarch/macro_op_large_pc.d
new file mode 100644
index 00000000000..c3214a859e6
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_pc.d
@@ -0,0 +1,77 @@
+#as:
+#objdump: -dr
+#skip: loongarch32-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+0:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+4:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+4:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+8:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+8:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+c:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+10:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+14:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+18:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+1c:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+20:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+20:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+24:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+28:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+2c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+2c:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+30:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+34:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+38:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+3c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+40:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+44:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+48:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+4c:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+50:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+54:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+54:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+5c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+60:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+60:[ ]+R_LARCH_TLS_IE64_PC_LO20[ ]+TLS1
+[ ]+64:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+64:[ ]+R_LARCH_TLS_IE64_PC_HI12[ ]+TLS1
+[ ]+68:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+6c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+70:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+70:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+74:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+74:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+78:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+78:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+7c:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+80:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+80:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+84:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+84:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+88:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+88:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+8c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+8c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+90:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
diff --git a/gas/testsuite/gas/loongarch/macro_op_large_pc.s b/gas/testsuite/gas/loongarch/macro_op_large_pc.s
new file mode 100644
index 00000000000..fd76391dbea
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/macro_op_large_pc.s
@@ -0,0 +1,9 @@
+.L1:
+la.local $r4, $r5, .L1
+la.global $r4, $r5, .L1
+la.pcrel $r4, $r5, .L1
+la.got $r4, $r5, .L1
+la.tls.le $r4, TLS1
+la.tls.ie $r4, $r5, TLS1
+la.tls.ld $r4, $r5, TLS1
+la.tls.gd $r4, $r5, TLS1
diff --git a/gas/testsuite/gas/loongarch/reloc.d b/gas/testsuite/gas/loongarch/reloc.d
new file mode 100644
index 00000000000..6f5f110b1af
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/reloc.d
@@ -0,0 +1,167 @@
+#as:
+#objdump: -dr
+#skip: loongarch32-*-*
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+00000000.* <.text>:
+[ ]+0:[ ]+03400000[ ]+andi[ ]+\$zero,[ ]+\$zero,[ ]+0x0
+[ ]+4:[ ]+58000085[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x4
+[ ]+4:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+8:[ ]+5c000085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x8
+[ ]+8:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+c:[ ]+60000085[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xc
+[ ]+c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+10:[ ]+64000085[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x10
+[ ]+10:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+14:[ ]+68000085[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x14
+[ ]+14:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+18:[ ]+6c000085[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0x18
+[ ]+18:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+1c:[ ]+4c0000a4[ ]+jirl[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+1c:[ ]+R_LARCH_B16[ ]+.L1
+[ ]+20:[ ]+40000080[ ]+beqz[ ]+\$a0,[ ]+0[ ]+#[ ]+0x20
+[ ]+20:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+24:[ ]+44000080[ ]+bnez[ ]+\$a0,[ ]+0[ ]+#[ ]+0x24
+[ ]+24:[ ]+R_LARCH_B21[ ]+.L1
+[ ]+28:[ ]+50000000[ ]+b[ ]+0[ ]+#[ ]+0x28
+[ ]+28:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+2c:[ ]+54000000[ ]+bl[ ]+0[ ]+#[ ]+0x2c
+[ ]+2c:[ ]+R_LARCH_B26[ ]+.L1
+[ ]+30:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_ABS_HI20[ ]+.L1
+[ ]+34:[ ]+038000a4[ ]+ori[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+34:[ ]+R_LARCH_ABS_LO12[ ]+.L1
+[ ]+38:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_ABS64_LO20[ ]+.L1
+[ ]+3c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_ABS64_HI12[ ]+.L1
+[ ]+40:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_PCALA_HI20[ ]+.L1
+[ ]+44:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1
+[ ]+48:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1
+[ ]+4c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+4c:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLSL1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLSL1
+[ ]+54:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLSL1
+[ ]+58:[ ]+02800085[ ]+addi.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+5c:[ ]+02c00085[ ]+addi.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+60:[ ]+28000085[ ]+ld.b[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+60:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+64:[ ]+28400085[ ]+ld.h[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+64:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+68:[ ]+28800085[ ]+ld.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+68:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+6c:[ ]+28c00085[ ]+ld.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_PCALA_LO12[ ]+.L1
+[ ]+70:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+70:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1
+[ ]+74:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+74:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1
+[ ]+78:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+78:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.L1
+[ ]+7c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+7c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.L1
+[ ]+80:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+80:[ ]+R_LARCH_GOT_HI20[ ]+.L1
+[ ]+84:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+84:[ ]+R_LARCH_GOT_LO12[ ]+.L1
+[ ]+88:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+88:[ ]+R_LARCH_GOT64_LO20[ ]+.L1
+[ ]+8c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+8c:[ ]+R_LARCH_GOT64_HI12[ ]+.L1
+[ ]+90:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+90:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLSL1
+[ ]+94:[ ]+03800085[ ]+ori[ ]+\$a1,[ ]+\$a0,[ ]+0x0
+[ ]+94:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLSL1
+[ ]+98:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+98:[ ]+R_LARCH_TLS_LE64_LO20[ ]+TLSL1
+[ ]+9c:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+9c:[ ]+R_LARCH_TLS_LE64_HI12[ ]+TLSL1
+[ ]+a0:[ ]+58000085[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xa0
+[ ]+a0:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+a4:[ ]+5c000085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xa4
+[ ]+a4:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+a8:[ ]+60000085[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xa8
+[ ]+a8:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+ac:[ ]+64000085[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xac
+[ ]+ac:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+b0:[ ]+68000085[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xb0
+[ ]+b0:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+b4:[ ]+6c000085[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+0[ ]+#[ ]+0xb4
+[ ]+b4:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+b8:[ ]+4c0000a4[ ]+jirl[ ]+\$a0,[ ]+\$a1,[ ]+0
+[ ]+b8:[ ]+R_LARCH_B16[ ]+.L1\+0x8
+[ ]+bc:[ ]+40000080[ ]+beqz[ ]+\$a0,[ ]+0[ ]+#[ ]+0xbc
+[ ]+bc:[ ]+R_LARCH_B21[ ]+.L1\+0x8
+[ ]+c0:[ ]+44000080[ ]+bnez[ ]+\$a0,[ ]+0[ ]+#[ ]+0xc0
+[ ]+c0:[ ]+R_LARCH_B21[ ]+.L1\+0x8
+[ ]+c4:[ ]+50000000[ ]+b[ ]+0[ ]+#[ ]+0xc4
+[ ]+c4:[ ]+R_LARCH_B26[ ]+.L1\+0x8
+[ ]+c8:[ ]+54000000[ ]+bl[ ]+0[ ]+#[ ]+0xc8
+[ ]+c8:[ ]+R_LARCH_B26[ ]+.L1\+0x8
+[ ]+cc:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+cc:[ ]+R_LARCH_ABS_HI20[ ]+.L1\+0x8
+[ ]+d0:[ ]+038000a4[ ]+ori[ ]+\$a0,[ ]+\$a1,[ ]+0x0
+[ ]+d0:[ ]+R_LARCH_ABS_LO12[ ]+.L1\+0x8
+[ ]+d4:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+d4:[ ]+R_LARCH_ABS64_LO20[ ]+.L1\+0x8
+[ ]+d8:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+d8:[ ]+R_LARCH_ABS64_HI12[ ]+.L1\+0x8
+[ ]+dc:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+dc:[ ]+R_LARCH_PCALA_HI20[ ]+.L1\+0x8
+[ ]+e0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e0:[ ]+R_LARCH_GOT_PC_HI20[ ]+.L1\+0x8
+[ ]+e4:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e4:[ ]+R_LARCH_GOT_PC_LO12[ ]+.L1\+0x8
+[ ]+e8:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e8:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLSL1\+0x8
+[ ]+ec:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+ec:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLSL1\+0x8
+[ ]+f0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+f0:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLSL1\+0x8
+[ ]+f4:[ ]+02800085[ ]+addi.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+f4:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+f8:[ ]+02c00085[ ]+addi.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+f8:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+fc:[ ]+28000085[ ]+ld.b[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+fc:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+100:[ ]+28400085[ ]+ld.h[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+100:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+104:[ ]+28800085[ ]+ld.w[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+104:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+108:[ ]+28c00085[ ]+ld.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+108:[ ]+R_LARCH_PCALA_LO12[ ]+.L1\+0x8
+[ ]+10c:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+10c:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1\+0x8
+[ ]+110:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+110:[ ]+R_LARCH_PCALA64_LO20[ ]+.L1\+0x8
+[ ]+114:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+114:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.L1\+0x8
+[ ]+118:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+118:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.L1\+0x8
+[ ]+11c:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+11c:[ ]+R_LARCH_GOT_HI20[ ]+.L1\+0x8
+[ ]+120:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+120:[ ]+R_LARCH_GOT_LO12[ ]+.L1\+0x8
+[ ]+124:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+124:[ ]+R_LARCH_GOT64_LO20[ ]+.L1\+0x8
+[ ]+128:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+128:[ ]+R_LARCH_GOT64_HI12[ ]+.L1\+0x8
+[ ]+12c:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+12c:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLSL1\+0x8
+[ ]+130:[ ]+03800085[ ]+ori[ ]+\$a1,[ ]+\$a0,[ ]+0x0
+[ ]+130:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLSL1\+0x8
+[ ]+134:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+134:[ ]+R_LARCH_TLS_LE64_LO20[ ]+TLSL1\+0x8
+[ ]+138:[ ]+03000085[ ]+lu52i.d[ ]+\$a1,[ ]+\$a0,[ ]+0
+[ ]+138:[ ]+R_LARCH_TLS_LE64_HI12[ ]+TLSL1\+0x8
diff --git a/gas/testsuite/gas/loongarch/reloc.s b/gas/testsuite/gas/loongarch/reloc.s
new file mode 100644
index 00000000000..a67fecd9429
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/reloc.s
@@ -0,0 +1,144 @@
+/* Test insn relocs. */
+.text
+nop
+
+/* Jump Insns. */
+/* b16. */
+beq $r4,$r5,%b16(.L1)
+bne $r4,$r5,%b16(.L1)
+blt $r4,$r5,%b16(.L1)
+bge $r4,$r5,%b16(.L1)
+bltu $r4,$r5,%b16(.L1)
+bgeu $r4,$r5,%b16(.L1)
+jirl $r4,$r5,%b16(.L1)
+
+/* b21. */
+beqz $r4,%b21(.L1)
+bnez $r4,%b21(.L1)
+
+/* b26. */
+b %b26(.L1)
+bl %b26(.L1)
+
+
+/* ABS Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%abs_hi20(.L1)
+
+/* ori */
+ori $r4,$r5,%abs_lo12(.L1)
+
+/* lu32i.d. */
+lu32i.d $r4,%abs64_lo20(.L1)
+
+/* lu52i.d. */
+lu52i.d $r5,$r4,%abs64_hi12(.L1)
+
+
+/* Pcala Insns. */
+/* pcalau12i. */
+pcalau12i $r4,%pc_hi20(.L1)
+pcalau12i $r4,%got_pc_hi20(.L1)
+pcalau12i $r4,%got_pc_lo12(.L1)
+pcalau12i $r4,%ie_pc_hi20(TLSL1)
+pcalau12i $r4,%ld_pc_hi20(TLSL1)
+pcalau12i $r4,%gd_pc_hi20(TLSL1)
+
+/* addi.w/d ld.b/h/w/d. */
+addi.w $r5,$r4,%pc_lo12(.L1)
+addi.d $r5,$r4,%pc_lo12(.L1)
+ld.b $r5,$r4,%pc_lo12(.L1)
+ld.h $r5,$r4,%pc_lo12(.L1)
+ld.w $r5,$r4,%pc_lo12(.L1)
+ld.d $r5,$r4,%pc_lo12(.L1)
+lu32i.d $r4,%pc64_lo20(.L1)
+lu52i.d $r5,$r4,%pc64_lo20(.L1)
+lu32i.d $r4,%got64_pc_lo20(.L1)
+lu52i.d $r5,$r4,%got64_pc_hi12(.L1)
+
+
+/* GOT64 Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%got_hi20(.L1)
+ori $r4,$r4,%got_lo12(.L1)
+lu32i.d $r4,%got64_lo20(.L1)
+lu52i.d $r5,$r4,%got64_hi12(.L1)
+
+
+/* TLS Insns. */
+lu12i.w $r4,%le_hi20(TLSL1)
+ori $r5,$r4,%le_lo12(TLSL1)
+lu32i.d $r4,%le64_lo20(TLSL1)
+lu52i.d $r5,$r4,%le64_hi12(TLSL1)
+
+
+
+/* Insns with addend. */
+/* Jump Insns. */
+/* b16. */
+beq $r4,$r5,%b16(.L1 + 0x8)
+bne $r4,$r5,%b16(.L1 + 0x8)
+blt $r4,$r5,%b16(.L1 + 0x8)
+bge $r4,$r5,%b16(.L1 + 0x8)
+bltu $r4,$r5,%b16(.L1 + 0x8)
+bgeu $r4,$r5,%b16(.L1 + 0x8)
+jirl $r4,$r5,%b16(.L1 + 0x8)
+
+/* b21. */
+beqz $r4,%b21(.L1 + 0x8)
+bnez $r4,%b21(.L1 + 0x8)
+
+/* b26. */
+b %b26(.L1 + 0x8)
+bl %b26(.L1 + 0x8)
+
+
+/* ABS Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%abs_hi20(.L1 + 0x8)
+
+/* ori */
+ori $r4,$r5,%abs_lo12(.L1 + 0x8)
+
+/* lu32i.d. */
+lu32i.d $r4,%abs64_lo20(.L1 + 0x8)
+
+/* lu52i.d. */
+lu52i.d $r5,$r4,%abs64_hi12(.L1 + 0x8)
+
+
+/* Pcala Insns. */
+/* pcalau12i. */
+pcalau12i $r4,%pc_hi20(.L1 + 0x8)
+pcalau12i $r4,%got_pc_hi20(.L1 + 0x8)
+pcalau12i $r4,%got_pc_lo12(.L1 + 0x8)
+pcalau12i $r4,%ie_pc_hi20(TLSL1 + 0x8)
+pcalau12i $r4,%ld_pc_hi20(TLSL1 + 0x8)
+pcalau12i $r4,%gd_pc_hi20(TLSL1 + 0x8)
+
+/* addi.w/d ld.b/h/w/d. */
+addi.w $r5,$r4,%pc_lo12(.L1 + 0x8)
+addi.d $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.b $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.h $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.w $r5,$r4,%pc_lo12(.L1 + 0x8)
+ld.d $r5,$r4,%pc_lo12(.L1 + 0x8)
+lu32i.d $r4,%pc64_lo20(.L1 + 0x8)
+lu52i.d $r5,$r4,%pc64_lo20(.L1 + 0x8)
+lu32i.d $r4,%got64_pc_lo20(.L1 + 0x8)
+lu52i.d $r5,$r4,%got64_pc_hi12(.L1 + 0x8)
+
+
+/* GOT64 Insns. */
+/* lu12i.w. */
+lu12i.w $r4,%got_hi20(.L1 + 0x8)
+ori $r4,$r4,%got_lo12(.L1 + 0x8)
+lu32i.d $r4,%got64_lo20(.L1 + 0x8)
+lu52i.d $r5,$r4,%got64_hi12(.L1 + 0x8)
+
+
+/* TLS Insns. */
+lu12i.w $r4,%le_hi20(TLSL1 + 0x8)
+ori $r5,$r4,%le_lo12(TLSL1 + 0x8)
+lu32i.d $r4,%le64_lo20(TLSL1 + 0x8)
+lu52i.d $r5,$r4,%le64_hi12(TLSL1 + 0x8)
diff --git a/ld/testsuite/ld-elf/pr26936.d b/ld/testsuite/ld-elf/pr26936.d
index 9115f810465..c479f475829 100644
--- a/ld/testsuite/ld-elf/pr26936.d
+++ b/ld/testsuite/ld-elf/pr26936.d
@@ -9,7 +9,7 @@
# sed. mn10300 and riscv put different numbers of local symbols in
# linkonce section and comdat sections. xtensa has more than one member
# in comdat groups.
-#xfail: am33_2.0-*-* hppa*-*-hpux* mn10300-*-* riscv*-*-* xtensa*-*-* loongarch*-*-*
+#xfail: am33_2.0-*-* hppa*-*-hpux* mn10300-*-* riscv*-*-* xtensa*-*-*
#...
CU: .*/pr26936c.s:
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index 06c3202d5cc..44924b097aa 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -346,6 +346,7 @@ if { [check_gc_sections_available] } {
mips*-*-* { }
tic6x-*-* { }
xtensa-*-* { }
+ loongarch*-*-* { }
default {
run_ld_link_tests [list \
[list \
@@ -465,7 +466,7 @@ run_ld_link_tests [list \
]
# These targets don't copy dynamic variables into .bss.
-setup_xfail "alpha-*-*" "bfin-*-*" "ia64-*-*" "xtensa-*-*"
+setup_xfail "alpha-*-*" "bfin-*-*" "ia64-*-*" "xtensa-*-*" *loongarch*-*-*
# or don't have .data.rel.ro
setup_xfail "hppa*64*-*-hpux*" "tic6x-*-*"
# or complain about relocs in read-only sections
@@ -485,7 +486,8 @@ run_ld_link_tests [list \
{pr20995c.s} {{readelf {-l --wide} pr20995-2so.r}} "pr20995-2.so"] \
] {![check_relro_support]}
-setup_xfail alpha-*-* xtensa-*-*
+# LoongArch: Read-only sections, merged into text segment in normal exe.
+setup_xfail alpha-*-* xtensa-*-* loongarch*-*-*
run_ld_link_tests [list \
[list \
"pr20995-2" \
diff --git a/ld/testsuite/ld-loongarch-elf/attr-ifunc-4.c b/ld/testsuite/ld-loongarch-elf/attr-ifunc-4.c
new file mode 100644
index 00000000000..5c87445b394
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/attr-ifunc-4.c
@@ -0,0 +1,23 @@
+/* { dg-do run } */
+/* { dg-require-ifunc "" } */
+/* { dg-options "" } */
+
+#include <stdio.h>
+
+static int implementation (void)
+{
+ printf ("'ere I am JH\n");
+ return 0;
+}
+
+static __typeof__ (implementation)* resolver (void)
+{
+ return implementation;
+}
+
+static int magic (void) __attribute__ ((ifunc ("resolver")));
+
+int main ()
+{
+ return magic () != 0;
+}
diff --git a/ld/testsuite/ld-loongarch-elf/attr-ifunc-4.out b/ld/testsuite/ld-loongarch-elf/attr-ifunc-4.out
new file mode 100644
index 00000000000..2d9cc343630
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/attr-ifunc-4.out
@@ -0,0 +1 @@
+'ere I am JH
diff --git a/ld/testsuite/ld-loongarch-elf/disas-jirl-32.d b/ld/testsuite/ld-loongarch-elf/disas-jirl-32.d
index 6621c03e5bc..2f2a41afe75 100644
--- a/ld/testsuite/ld-loongarch-elf/disas-jirl-32.d
+++ b/ld/testsuite/ld-loongarch-elf/disas-jirl-32.d
@@ -1,15 +1,15 @@
-#name: jirl zero-offset symbols for LoongArch32
-#source: disas-jirl-32.s
-#ld: --no-relax
-#objdump: -d
+#as:
+#objdump: -dr
#skip: loongarch64-*-*
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-00010054 <_start>:
-[ ]+10054:[ ]+1c000014 [ ]+pcaddu12i[ ]+[ ]+\$t8, 0
-[ ]+10058:[ ]+02800294 [ ]+addi.w[ ]+[ ]+\$t8, \$t8, 0
-[ ]+1005c:[ ]+4c000281 [ ]+jirl[ ]+[ ]+\$ra, \$t8, 0
+00000000.* <_start>:
+[ ]+0:[ ]+1a000014[ ]+pcalau12i[ ]+\$t8,[ ]+0
+[ ]+0:[ ]+R_LARCH_PCALA_HI20[ ]+_start
+[ ]+4:[ ]+02800294[ ]+addi.w[ ]+\$t8,[ ]+\$t8,[ ]+0
+[ ]+4:[ ]+R_LARCH_PCALA_LO12[ ]+_start
+[ ]+8:[ ]+4c000281[ ]+jirl[ ]+\$ra,[ ]+\$t8,[ ]+0
diff --git a/ld/testsuite/ld-loongarch-elf/disas-jirl.d b/ld/testsuite/ld-loongarch-elf/disas-jirl.d
index f79111a5d8b..595c30c7361 100644
--- a/ld/testsuite/ld-loongarch-elf/disas-jirl.d
+++ b/ld/testsuite/ld-loongarch-elf/disas-jirl.d
@@ -1,15 +1,14 @@
-#name: jirl zero-offset symbols for LoongArch64
-#source: disas-jirl.s
-#ld: --no-relax
-#objdump: -d
-#skip: loongarch32-*-*
+#as:
+#objdump: -dr
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-0000000120000078 <_start>:
-[ ]+120000078:[ ]+1c000014 [ ]+pcaddu12i[ ]+[ ]+\$t8, 0
-[ ]+12000007c:[ ]+02c00294 [ ]+addi.d[ ]+[ ]+\$t8, \$t8, 0
-[ ]+120000080:[ ]+4c000281 [ ]+jirl[ ]+[ ]+\$ra, \$t8, 0
+00000000.*:
+[ ]+0:[ ]+1a000014[ ]+pcalau12i[ ]+\$t8,[ ]+0
+[ ]+0:[ ]+R_LARCH_PCALA_HI20[ ]+_start
+[ ]+4:[ ]+02c00294[ ]+addi.d[ ]+\$t8,[ ]+\$t8,[ ]+0
+[ ]+4:[ ]+R_LARCH_PCALA_LO12[ ]+_start
+[ ]+8:[ ]+4c000281[ ]+jirl[ ]+\$ra,[ ]+\$t8,[ ]+0
diff --git a/ld/testsuite/ld-loongarch-elf/ifunc.exp b/ld/testsuite/ld-loongarch-elf/ifunc.exp
new file mode 100644
index 00000000000..2b55002f824
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/ifunc.exp
@@ -0,0 +1,34 @@
+# Expect script for LoongArch assembler tests.
+# Copyright (C) 2021-2022 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+
+
+if [istarget loongarch*-*-*] {
+ run_ld_link_exec_tests [list \
+ [list \
+ "Run attr-ifunc-4" \
+ "" \
+ "" \
+ {attr-ifunc-4.c} \
+ "attr-ifunc-4" \
+ "attr-ifunc-4.out" \
+ ] \
+ ]
+}
diff --git a/ld/testsuite/ld-loongarch-elf/jmp_op.d b/ld/testsuite/ld-loongarch-elf/jmp_op.d
index c68f7aa49ba..93452c317bb 100644
--- a/ld/testsuite/ld-loongarch-elf/jmp_op.d
+++ b/ld/testsuite/ld-loongarch-elf/jmp_op.d
@@ -1,68 +1,30 @@
#as:
#objdump: -dr
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-0+0 <.text>:
-[ ]+0:[ ]+03400000 [ ]+andi[ ]+[ ]+\$zero, \$zero, 0x0
-[ ]+4:[ ]+60000004 [ ]+bgtz[ ]+[ ]+\$a0, 0[ ]+# 0x4
-[ ]+[ ]+[ ]+4: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+4: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+8:[ ]+64000080 [ ]+bgez[ ]+[ ]+\$a0, 0[ ]+# 0x8
-[ ]+[ ]+[ ]+8: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+8: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+c:[ ]+64000004 [ ]+blez[ ]+[ ]+\$a0, 0[ ]+# 0xc
-[ ]+[ ]+[ ]+c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+10:[ ]+40000080 [ ]+beqz[ ]+[ ]+\$a0, 0[ ]+# 0x10
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+14:[ ]+44000080 [ ]+bnez[ ]+[ ]+\$a0, 0[ ]+# 0x14
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+18:[ ]+48000000 [ ]+bceqz[ ]+[ ]+\$fcc0, 0[ ]+# 0x18
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+1c:[ ]+48000100 [ ]+bcnez[ ]+[ ]+\$fcc0, 0[ ]+# 0x1c
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_0_5_10_16_S2[ ]+\*ABS\*
-[ ]+20:[ ]+4c000080 [ ]+jirl[ ]+[ ]+\$zero, \$a0, 0
-[ ]+24:[ ]+50000000 [ ]+b[ ]+[ ]+0[ ]+# 0x24
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_S_0_10_10_16_S2[ ]+\*ABS\*
-[ ]+28:[ ]+54000000 [ ]+bl[ ]+[ ]+0[ ]+# 0x28
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_0_10_10_16_S2[ ]+\*ABS\*
-[ ]+2c:[ ]+58000085 [ ]+beq[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x2c
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+30:[ ]+5c000085 [ ]+bne[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x30
-[ ]+[ ]+[ ]+30: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+30: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+34:[ ]+60000085 [ ]+blt[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x34
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+38:[ ]+600000a4 [ ]+blt[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x38
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+3c:[ ]+64000085 [ ]+bge[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x3c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+40:[ ]+640000a4 [ ]+bge[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x40
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+44:[ ]+68000085 [ ]+bltu[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x44
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+48:[ ]+680000a4 [ ]+bltu[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x48
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+4c:[ ]+6c000085 [ ]+bgeu[ ]+[ ]+\$a0, \$a1, 0[ ]+# 0x4c
-[ ]+[ ]+[ ]+4c: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+4c: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
-[ ]+50:[ ]+6c0000a4 [ ]+bgeu[ ]+[ ]+\$a1, \$a0, 0[ ]+# 0x50
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_10_16_S2[ ]+\*ABS\*
+00000000.* <.text>:
+[ ]+0:[ ]+03400000[ ]+andi[ ]+\$zero,[ ]+\$zero,[ ]+0x0
+[ ]+4:[ ]+63fffc04[ ]+bgtz[ ]+\$a0,[ ]+-4\(0x3fffc\)[ ]+#[ ]+0x0
+[ ]+8:[ ]+67fff880[ ]+bgez[ ]+\$a0,[ ]+-8\(0x3fff8\)[ ]+#[ ]+0x0
+[ ]+c:[ ]+67fff404[ ]+blez[ ]+\$a0,[ ]+-12\(0x3fff4\)[ ]+#[ ]+0x0
+[ ]+10:[ ]+43fff09f[ ]+beqz[ ]+\$a0,[ ]+-16\(0x7ffff0\)[ ]+#[ ]+0x0
+[ ]+14:[ ]+47ffec9f[ ]+bnez[ ]+\$a0,[ ]+-20\(0x7fffec\)[ ]+#[ ]+0x0
+[ ]+18:[ ]+4bffe81f[ ]+bceqz[ ]+\$fcc0,[ ]+-24\(0x7fffe8\)[ ]+#[ ]+0x0
+[ ]+1c:[ ]+4bffe51f[ ]+bcnez[ ]+\$fcc0,[ ]+-28\(0x7fffe4\)[ ]+#[ ]+0x0
+[ ]+20:[ ]+4c000080[ ]+jirl[ ]+\$zero,[ ]+\$a0,[ ]+0
+[ ]+24:[ ]+53ffdfff[ ]+b[ ]+-36\(0xfffffdc\)[ ]+#[ ]+0x0
+[ ]+28:[ ]+57ffdbff[ ]+bl[ ]+-40\(0xfffffd8\)[ ]+#[ ]+0x0
+[ ]+2c:[ ]+5bffd485[ ]+beq[ ]+\$a0,[ ]+\$a1,[ ]+-44\(0x3ffd4\)[ ]+#[ ]+0x0
+[ ]+30:[ ]+5fffd085[ ]+bne[ ]+\$a0,[ ]+\$a1,[ ]+-48\(0x3ffd0\)[ ]+#[ ]+0x0
+[ ]+34:[ ]+63ffcc85[ ]+blt[ ]+\$a0,[ ]+\$a1,[ ]+-52\(0x3ffcc\)[ ]+#[ ]+0x0
+[ ]+38:[ ]+63ffc8a4[ ]+blt[ ]+\$a1,[ ]+\$a0,[ ]+-56\(0x3ffc8\)[ ]+#[ ]+0x0
+[ ]+3c:[ ]+67ffc485[ ]+bge[ ]+\$a0,[ ]+\$a1,[ ]+-60\(0x3ffc4\)[ ]+#[ ]+0x0
+[ ]+40:[ ]+67ffc0a4[ ]+bge[ ]+\$a1,[ ]+\$a0,[ ]+-64\(0x3ffc0\)[ ]+#[ ]+0x0
+[ ]+44:[ ]+6bffbc85[ ]+bltu[ ]+\$a0,[ ]+\$a1,[ ]+-68\(0x3ffbc\)[ ]+#[ ]+0x0
+[ ]+48:[ ]+6bffb8a4[ ]+bltu[ ]+\$a1,[ ]+\$a0,[ ]+-72\(0x3ffb8\)[ ]+#[ ]+0x0
+[ ]+4c:[ ]+6fffb485[ ]+bgeu[ ]+\$a0,[ ]+\$a1,[ ]+-76\(0x3ffb4\)[ ]+#[ ]+0x0
+[ ]+50:[ ]+6fffb0a4[ ]+bgeu[ ]+\$a1,[ ]+\$a0,[ ]+-80\(0x3ffb0\)[ ]+#[ ]+0x0
diff --git a/ld/testsuite/ld-loongarch-elf/jmp_op.s b/ld/testsuite/ld-loongarch-elf/jmp_op.s
index 01b043d19eb..1deb165aeba 100644
--- a/ld/testsuite/ld-loongarch-elf/jmp_op.s
+++ b/ld/testsuite/ld-loongarch-elf/jmp_op.s
@@ -1,22 +1,22 @@
.L1:
- nop
- bgtz $r4,L1
- bgez $r4,L1
- blez $r4,L1
- beqz $r4,L1
- bnez $r4,L1
- bceqz $fcc0,L1
- bcnez $fcc0,L1
- jr $r4
- b L1
- bl L1
- beq $r4,$r5,L1
- bne $r4,$r5,L1
- blt $r4,$r5,L1
- bgt $r4,$r5,L1
- bge $r4,$r5,L1
- ble $r4,$r5,L1
- bltu $r4,$r5,L1
- bgtu $r4,$r5,L1
- bgeu $r4,$r5,L1
- bleu $r4,$r5,L1
+nop
+bgtz $r4,.L1
+bgez $r4,.L1
+blez $r4,.L1
+beqz $r4,.L1
+bnez $r4,.L1
+bceqz $fcc0,.L1
+bcnez $fcc0,.L1
+jr $r4
+b .L1
+bl .L1
+beq $r4,$r5,.L1
+bne $r4,$r5,.L1
+blt $r4,$r5,.L1
+bgt $r4,$r5,.L1
+bge $r4,$r5,.L1
+ble $r4,$r5,.L1
+bltu $r4,$r5,.L1
+bgtu $r4,$r5,.L1
+bgeu $r4,$r5,.L1
+bleu $r4,$r5,.L1
diff --git a/ld/testsuite/ld-loongarch-elf/libnopic-global.s b/ld/testsuite/ld-loongarch-elf/libnopic-global.s
new file mode 100644
index 00000000000..39d7dc68ae1
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/libnopic-global.s
@@ -0,0 +1,113 @@
+ .file "libnopic-global.c"
+ .text
+.Ltext0:
+ .file 1 "libnopic-global.c"
+ .globl g_nopic
+ .data
+ .align 2
+ .type g_nopic, @object
+ .size g_nopic, 4
+g_nopic:
+ .word 305419896
+ .text
+.Letext0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .4byte 0x38
+ .2byte 0x5
+ .byte 0x1
+ .byte 0x8
+ .4byte .Ldebug_abbrev0
+ .uleb128 0x1
+ .4byte .LASF0
+ .byte 0x1d
+ .4byte .LASF1
+ .4byte .LASF2
+ .4byte .Ldebug_line0
+ .uleb128 0x2
+ .4byte .LASF3
+ .byte 0x1
+ .byte 0x1
+ .byte 0x5
+ .4byte 0x34
+ .uleb128 0x9
+ .byte 0x3
+ .8byte g_nopic
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .ascii "int\000"
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_aranges,"",@progbits
+ .4byte 0x1c
+ .2byte 0x2
+ .4byte .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .2byte 0
+ .2byte 0
+ .8byte 0
+ .8byte 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF1:
+ .ascii "libnopic-global.c\000"
+.LASF0:
+ .ascii "GNU C17 13.0.0 20220512 (experimental) -mabi=lp64d -marc"
+ .ascii "h=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -"
+ .ascii "O0 -fPIC\000"
+.LASF2:
+ .ascii "/home/liuzhensong/test/ld/nopic/test/global_var\000"
+.LASF3:
+ .ascii "g_nopic\000"
+ .ident "GCC: (GNU) 13.0.0 20220512 (experimental)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-loongarch-elf/macro_op.d b/ld/testsuite/ld-loongarch-elf/macro_op.d
index af100608824..a1c64fcf00f 100644
--- a/ld/testsuite/ld-loongarch-elf/macro_op.d
+++ b/ld/testsuite/ld-loongarch-elf/macro_op.d
@@ -1,733 +1,164 @@
#as:
#objdump: -dr
-#skip: loongarch32-*-*
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-0+0 <.text>:
-[ ]+0:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+4:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+8:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+c:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+10:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+14:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+18:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+1c:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+20:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+24:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+28:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+2c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+30:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+34:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+38:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+3c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+40:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+44:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+48:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+4c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+50:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+54:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+58:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+5c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+60:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+64:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+68:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+6c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+70:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+74:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+78:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+7c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+80:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+84:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+88:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+8c:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+90:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+94:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+98:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+9c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+a0:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+a4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+a4: R_LARCH_MARK_LA[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+a8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+ac:[ ]+16000004 [ ]+lu32i.d[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b0:[ ]+03000084 [ ]+lu52i.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+b4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b8:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+bc:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c0:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+c4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000000
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c8:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000004
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+cc:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x80000008
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+cc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+d0:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x8000000c
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+d4:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+d8:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+dc:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+e0:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+e4:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+e8:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+ec:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+f0:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+f4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+f8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+fc:[ ]+16000004 [ ]+lu32i.d[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+100:[ ]+03000084 [ ]+lu52i.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+104:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+108:[ ]+28c00084 [ ]+ld.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+10c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+110:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+114:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+118:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+11c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+120:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+124:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+128:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+128: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+12c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+130:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+134:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+138:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+13c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+140:[ ]+02c00084 [ ]+addi.d[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+144:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000000
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+144: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+148:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000004
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+148: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+14c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x80000008
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+150:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x8000000c
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+150: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+154:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
+00000000.* <.text>:
+[ ]+0:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+4:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+8:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+c:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+10:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+10:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+14:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+18:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+1c:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+20:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+20:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+24:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+24:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+28:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+28:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+2c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+2c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+30:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+34:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+34:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+38:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+3c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+40:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+40:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+44:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+44:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+48:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+48:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+4c:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+54:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+5c:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+5c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+60:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+60:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+64:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+64:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+68:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+6c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+6c:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+70:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+70:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+74:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+74:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+78:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+78:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+7c:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+7c:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+80:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+80:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+84:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+88:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+88:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+8c:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+8c:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+90:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+90:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+94:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+94:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+98:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+98:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+9c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+9c:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+a0:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+a4:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+a4:[ ]+R_LARCH_MARK_LA[ ]+\*ABS\*
+[ ]+a4:[ ]+R_LARCH_ABS_HI20[ ]+.text
+[ ]+a8:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+a8:[ ]+R_LARCH_ABS_LO12[ ]+.text
+[ ]+ac:[ ]+16000004[ ]+lu32i.d[ ]+\$a0,[ ]+0
+[ ]+ac:[ ]+R_LARCH_ABS64_LO20[ ]+.text
+[ ]+b0:[ ]+03000084[ ]+lu52i.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+b0:[ ]+R_LARCH_ABS64_HI12[ ]+.text
+[ ]+b4:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+b4:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+b8:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+b8:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+bc:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+bc:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+c0:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+c0:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+c4:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+c4:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+c8:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+c8:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+cc:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+cc:[ ]+R_LARCH_PCALA64_LO20[ ]+.text
+[ ]+d0:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+d0:[ ]+R_LARCH_PCALA64_HI12[ ]+.text
+[ ]+d4:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+d8:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+d8:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+dc:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+dc:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+e0:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+e0:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+e4:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+e4:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+e8:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+e8:[ ]+R_LARCH_GOT64_PC_LO20[ ]+.text
+[ ]+ec:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+ec:[ ]+R_LARCH_GOT64_PC_HI12[ ]+.text
+[ ]+f0:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+f4:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+f4:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+f8:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+f8:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+fc:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+fc:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+100:[ ]+28c00084[ ]+ld.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+100:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+104:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+104:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+108:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+108:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+10c:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+10c:[ ]+R_LARCH_TLS_IE64_PC_LO20[ ]+TLS1
+[ ]+110:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+110:[ ]+R_LARCH_TLS_IE64_PC_HI12[ ]+TLS1
+[ ]+114:[ ]+380c1484[ ]+ldx.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+118:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+118:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+11c:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+11c:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+120:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+120:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+124:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+124:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+128:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+128:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+12c:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+12c:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+130:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
+[ ]+134:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+134:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+138:[ ]+02c00084[ ]+addi.d[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+138:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+13c:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+13c:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+140:[ ]+02c00005[ ]+addi.d[ ]+\$a1,[ ]+\$zero,[ ]+0
+[ ]+140:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+144:[ ]+16000005[ ]+lu32i.d[ ]+\$a1,[ ]+0
+[ ]+144:[ ]+R_LARCH_GOT64_PC_LO20[ ]+TLS1
+[ ]+148:[ ]+030000a5[ ]+lu52i.d[ ]+\$a1,[ ]+\$a1,[ ]+0
+[ ]+148:[ ]+R_LARCH_GOT64_PC_HI12[ ]+TLS1
+[ ]+14c:[ ]+00109484[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$a1
diff --git a/ld/testsuite/ld-loongarch-elf/macro_op.s b/ld/testsuite/ld-loongarch-elf/macro_op.s
index c15e364d4d0..5cf066c36ff 100644
--- a/ld/testsuite/ld-loongarch-elf/macro_op.s
+++ b/ld/testsuite/ld-loongarch-elf/macro_op.s
@@ -1,29 +1,30 @@
.L1:
- li.w $r4,0
- li.w $r4,0xffffffff
- li.d $r4,0
- li.d $r4,0xffffffffffffffff
- la $r4,L1
- la.global $r4,L1
- la.global $r4,$r5,L1
- la.global $r4,L1
- la.global $r4,$r5,L1
- la.global $r4,L1
- la.global $r4,$r5,L1
- la.local $r4,L1
- la.local $r4,$r5,L1
- la.local $r4,L1
- la.local $r4,$r5,L1
- la.abs $r4,L1
- la.pcrel $r4,L1
- la.pcrel $r4,L1
- la.pcrel $r4,$r5,L1
- la.got $r4,L1
- la.got $r4,$r5,L1
- la.tls.le $r4,L1
- la.tls.ie $r4,L1
- la.tls.ie $r4,$r5,L1
- la.tls.ld $r4,L1
- la.tls.ld $r4,$r5,L1
- la.tls.gd $r4,L1
- la.tls.gd $r4,$r5,L1
+li.w $r4, 0
+li.w $r4, 0xffffffff
+li.d $r4, 0
+li.d $r4, 0xffffffffffffffff
+la $r4, .L1
+la.global $r4, .L1
+la.global $r4, $r5, .L1
+la.global $r4, .L1
+la.global $r4, $r5, .L1
+la.global $r4, .L1
+la.global $r4, $r5, .L1
+la.local $r4, .L1
+la.local $r4, $r5, .L1
+la.local $r4, .L1
+la.local $r4, $r5, .L1
+la.abs $r4, .L1
+la.pcrel $r4, .L1
+la.pcrel $r4, .L1
+la.pcrel $r4, $r5, .L1
+la.got $r4, .L1
+la.got $r4, $r5, .L1
+
+la.tls.le $r4, TLS1
+la.tls.ie $r4, TLS1
+la.tls.ie $r4, $r5, TLS1
+la.tls.ld $r4, TLS1
+la.tls.ld $r4, $r5, TLS1
+la.tls.gd $r4, TLS1
+la.tls.gd $r4, $r5, TLS1
diff --git a/ld/testsuite/ld-loongarch-elf/macro_op_32.d b/ld/testsuite/ld-loongarch-elf/macro_op_32.d
index 24906ecfd04..145d852b2be 100644
--- a/ld/testsuite/ld-loongarch-elf/macro_op_32.d
+++ b/ld/testsuite/ld-loongarch-elf/macro_op_32.d
@@ -2,728 +2,54 @@
#objdump: -dr
#skip: loongarch64-*-*
-.*:[ ]+file format .*
+.*:[ ]+file format .*
Disassembly of section .text:
-0+0 <.text>:
-[ ]+0:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+4:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+8:[ ]+00150004 [ ]+move[ ]+[ ]+\$a0, \$zero
-[ ]+c:[ ]+02bffc04 [ ]+addi.w[ ]+[ ]+\$a0, \$zero, -1\(0xfff\)
-[ ]+10:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+10: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+14:[ ]+28800084 [ ]+ld.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+14: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+18:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+18: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+1c:[ ]+28800084 [ ]+ld.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+1c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+20:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+20: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+24:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+24: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+28:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+28: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+2c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+2c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+30:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+34:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+34: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+38:[ ]+28800084 [ ]+ld.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+38: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+3c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+3c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+40:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+40: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+44:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+44: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+48:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+48: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+4c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+50:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+50: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+54:[ ]+28800084 [ ]+ld.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+54: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+58:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+58: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+5c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+5c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+60:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+60: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+64:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+64: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+68:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+6c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+6c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+70:[ ]+02800084 [ ]+addi.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+70: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+74:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x80000000
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+74: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+78:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffffc
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+78: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+7c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffff8
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+7c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+80:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffff4
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+80: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+84:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+88:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+88: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+8c:[ ]+02800084 [ ]+addi.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+8c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+90:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x80000000
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+90: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+94:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffffc
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+94: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+98:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffff8
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+98: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+9c:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffff4
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+9c: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+a0:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+a4:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+a4: R_LARCH_MARK_LA[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+a8:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+L1
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+a8: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+ac:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ac: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b0:[ ]+02800084 [ ]+addi.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b0: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+b4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x800
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+b8:[ ]+02800084 [ ]+addi.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x804
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+b8: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+bc:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_PCREL[ ]+L1
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x80000000
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+bc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c0:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\+0x4
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffffc
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c0: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+c4:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffff8
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+c8:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_PCREL[ ]+L1\-0x7ffffff4
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+c8: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+cc:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+d0:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d0: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+d4:[ ]+28800084 [ ]+ld.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d4: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+d8:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+d8: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+dc:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+dc: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+e0:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e0: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+e4:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_GPREL[ ]+L1
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+e4: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+e8:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+ec:[ ]+14000004 [ ]+lu12i.w[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+ec: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+f0:[ ]+03800084 [ ]+ori[ ]+[ ]+\$a0, \$a0, 0x0
-[ ]+[ ]+[ ]+f0: R_LARCH_SOP_PUSH_TLS_TPREL[ ]+L1
-[ ]+[ ]+[ ]+f0: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+f0: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f0: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+f4:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f4: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+f8:[ ]+28800084 [ ]+ld.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+f8: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+fc:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+fc: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+100:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+100: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+104:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+104: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+108:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_TLS_GOT[ ]+L1
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+108: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+10c:[ ]+380c1484 [ ]+ldx.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+110:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+110: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+114:[ ]+02800084 [ ]+addi.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+114: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+118:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+118: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+11c:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+11c: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+120:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+120: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+124:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+124: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+128:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
-[ ]+12c:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x800
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+12c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+130:[ ]+02800084 [ ]+addi.w[ ]+[ ]+\$a0, \$a0, 0
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x804
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+130: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+134:[ ]+1c000004 [ ]+pcaddu12i[ ]+[ ]+\$a0, 0
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x80000000
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+134: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+138:[ ]+03800005 [ ]+ori[ ]+[ ]+\$a1, \$zero, 0x0
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\+0x4
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffffc
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x20
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_SUB[ ]+\*ABS\*
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xfff
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_AND[ ]+\*ABS\*
-[ ]+[ ]+[ ]+138: R_LARCH_SOP_POP_32_U_10_12[ ]+\*ABS\*
-[ ]+13c:[ ]+16000005 [ ]+lu32i.d[ ]+[ ]+\$a1, 0
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff8
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0xc
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_SL[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x2c
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+13c: R_LARCH_SOP_POP_32_S_5_20[ ]+\*ABS\*
-[ ]+140:[ ]+030000a5 [ ]+lu52i.d[ ]+[ ]+\$a1, \$a1, 0
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_PCREL[ ]+_GLOBAL_OFFSET_TABLE_\-0x7ffffff4
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_TLS_GD[ ]+L1
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_ADD[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_PUSH_ABSOLUTE[ ]+\*ABS\*\+0x34
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_SR[ ]+\*ABS\*
-[ ]+[ ]+[ ]+140: R_LARCH_SOP_POP_32_S_10_12[ ]+\*ABS\*
-[ ]+144:[ ]+00109484 [ ]+add.d[ ]+[ ]+\$a0, \$a0, \$a1
+00000000.* <.text>:
+[ ]+0:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+4:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+8:[ ]+00150004[ ]+move[ ]+\$a0,[ ]+\$zero
+[ ]+c:[ ]+02bffc04[ ]+addi.w[ ]+\$a0,[ ]+\$zero,[ ]+-1\(0xfff\)
+[ ]+10:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+10:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+14:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+14:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+18:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+18:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+1c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+1c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+20:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+20:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+24:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+24:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+28:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+28:[ ]+R_LARCH_MARK_LA[ ]+\*ABS\*
+[ ]+28:[ ]+R_LARCH_ABS_HI20[ ]+.text
+[ ]+2c:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+2c:[ ]+R_LARCH_ABS_LO12[ ]+.text
+[ ]+30:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+30:[ ]+R_LARCH_PCALA_HI20[ ]+.text
+[ ]+34:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+34:[ ]+R_LARCH_PCALA_LO12[ ]+.text
+[ ]+38:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+38:[ ]+R_LARCH_GOT_PC_HI20[ ]+.text
+[ ]+3c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+3c:[ ]+R_LARCH_GOT_PC_LO12[ ]+.text
+[ ]+40:[ ]+14000004[ ]+lu12i.w[ ]+\$a0,[ ]+0
+[ ]+40:[ ]+R_LARCH_TLS_LE_HI20[ ]+TLS1
+[ ]+44:[ ]+03800084[ ]+ori[ ]+\$a0,[ ]+\$a0,[ ]+0x0
+[ ]+44:[ ]+R_LARCH_TLS_LE_LO12[ ]+TLS1
+[ ]+48:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+48:[ ]+R_LARCH_TLS_IE_PC_HI20[ ]+TLS1
+[ ]+4c:[ ]+28800084[ ]+ld.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+4c:[ ]+R_LARCH_TLS_IE_PC_LO12[ ]+TLS1
+[ ]+50:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+50:[ ]+R_LARCH_TLS_LD_PC_HI20[ ]+TLS1
+[ ]+54:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+54:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
+[ ]+58:[ ]+1a000004[ ]+pcalau12i[ ]+\$a0,[ ]+0
+[ ]+58:[ ]+R_LARCH_TLS_GD_PC_HI20[ ]+TLS1
+[ ]+5c:[ ]+02800084[ ]+addi.w[ ]+\$a0,[ ]+\$a0,[ ]+0
+[ ]+5c:[ ]+R_LARCH_GOT_PC_LO12[ ]+TLS1
diff --git a/ld/testsuite/ld-loongarch-elf/macro_op_32.s b/ld/testsuite/ld-loongarch-elf/macro_op_32.s
index 2e26b6b3f9b..7f19565e156 100644
--- a/ld/testsuite/ld-loongarch-elf/macro_op_32.s
+++ b/ld/testsuite/ld-loongarch-elf/macro_op_32.s
@@ -1,29 +1,16 @@
.L1:
- li.w $r4,0
- li.w $r4,0xffffffff
- li.w $r4,0
- li.w $r4,0xffffffff
- la $r4,L1
- la.global $r4,L1
- la.global $r4,$r5,L1
- la.global $r4,L1
- la.global $r4,$r5,L1
- la.global $r4,L1
- la.global $r4,$r5,L1
- la.local $r4,L1
- la.local $r4,$r5,L1
- la.local $r4,L1
- la.local $r4,$r5,L1
- la.abs $r4,L1
- la.pcrel $r4,L1
- la.pcrel $r4,L1
- la.pcrel $r4,$r5,L1
- la.got $r4,L1
- la.got $r4,$r5,L1
- la.tls.le $r4,L1
- la.tls.ie $r4,L1
- la.tls.ie $r4,$r5,L1
- la.tls.ld $r4,L1
- la.tls.ld $r4,$r5,L1
- la.tls.gd $r4,L1
- la.tls.gd $r4,$r5,L1
+ li.w $r4, 0
+ li.w $r4, 0xffffffff
+ li.w $r4, 0
+ li.w $r4, 0xffffffff
+ la $r4, .L1
+ la.global $r4, .L1
+ la.local $r4, .L1
+ la.abs $r4, .L1
+ la.pcrel $r4, .L1
+ la.got $r4, .L1
+
+ la.tls.le $r4, TLS1
+ la.tls.ie $r4, TLS1
+ la.tls.ld $r4, TLS1
+ la.tls.gd $r4, TLS1
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-global-so.rd b/ld/testsuite/ld-loongarch-elf/nopic-global-so.rd
new file mode 100644
index 00000000000..2bcc718a276
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-global-so.rd
@@ -0,0 +1,5 @@
+Relocation section '.rela.dyn'.*
+ +Offset +Info +Type +Sym\. +Value +Sym\. +Name +\+ +Addend
+#...
+[0-9a-f]+ +[0-9a-f]+ +R_LARCH_64 +[0-9a-f]+ +g_nopic +\+ +[0-9]
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-global-so.sd b/ld/testsuite/ld-loongarch-elf/nopic-global-so.sd
new file mode 100644
index 00000000000..c0e7a66ba84
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-global-so.sd
@@ -0,0 +1,10 @@
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9] +OBJECT +GLOBAL +DEFAULT +UND+ +g_nopic
+#...
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]+: +[0-9a-f]+ +[0-9] +OBJECT +GLOBAL +DEFAULT +UND+ +g_nopic
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-global.out b/ld/testsuite/ld-loongarch-elf/nopic-global.out
new file mode 100644
index 00000000000..3a179f6634e
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-global.out
@@ -0,0 +1 @@
+0x12345678
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-global.s b/ld/testsuite/ld-loongarch-elf/nopic-global.s
new file mode 100644
index 00000000000..189fa675dac
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-global.s
@@ -0,0 +1,373 @@
+ .file "nopic-global.c"
+ .text
+.Ltext0:
+ .file 1 "nopic-global.c"
+ .section .rodata
+ .align 3
+.LC0:
+ .ascii "0x%x\012\000"
+ .text
+ .align 2
+ .globl main
+ .type main, @function
+main:
+.LFB6 = .
+ .loc 1 7 1
+ .cfi_startproc
+ addi.d $r3,$r3,-16
+ .cfi_def_cfa_offset 16
+ st.d $r1,$r3,8
+ stptr.d $r22,$r3,0
+ .cfi_offset 1, -8
+ .cfi_offset 22, -16
+ addi.d $r22,$r3,16
+ .cfi_def_cfa 22, 0
+ .loc 1 8 15
+ pcalau12i $r12,%got_pc_hi20(g_nopic)
+ ld.d $r12,$r12,%got_pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ .loc 1 8 6
+ or $r13,$r12,$r0
+ lu12i.w $r12,305418240>>12 # 0x12345000
+ ori $r12,$r12,1656
+ bne $r13,$r12,.L2
+ .loc 1 9 5
+ pcalau12i $r12,%got_pc_hi20(g_nopic)
+ ld.d $r12,$r12,%got_pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ or $r5,$r12,$r0
+ pcalau12i $r12,%pc_hi20(.LC0)
+ addi.d $r4,$r12,%pc_lo12(.LC0)
+ bl %plt(printf)
+ b .L5
+.L2:
+ .loc 1 11 5
+ bl %plt(abort)
+.L5:
+ .loc 1 12 10
+ or $r12,$r0,$r0
+ .loc 1 13 1
+ or $r4,$r12,$r0
+ ld.d $r1,$r3,8
+ .cfi_restore 1
+ ldptr.d $r22,$r3,0
+ .cfi_restore 22
+ addi.d $r3,$r3,16
+ .cfi_def_cfa_register 3
+ jr $r1
+ .cfi_endproc
+.LFE6:
+ .size main, .-main
+.Letext0:
+ .file 2 "/usr/include/stdlib.h"
+ .file 3 "/usr/include/stdio.h"
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .4byte 0xce
+ .2byte 0x5
+ .byte 0x1
+ .byte 0x8
+ .4byte .Ldebug_abbrev0
+ .uleb128 0x2
+ .4byte .LASF10
+ .byte 0x1d
+ .4byte .LASF11
+ .4byte .LASF12
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .4byte .Ldebug_line0
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF0
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x8
+ .4byte .LASF1
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x7
+ .4byte .LASF2
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x7
+ .4byte .LASF3
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x5
+ .4byte .LASF5
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .ascii "int\000"
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF6
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF7
+ .uleb128 0x4
+ .4byte 0x66
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF8
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF9
+ .uleb128 0x5
+ .4byte .LASF13
+ .byte 0x1
+ .byte 0x4
+ .byte 0xc
+ .4byte 0x58
+ .uleb128 0x6
+ .4byte .LASF14
+ .byte 0x2
+ .2byte 0x256
+ .byte 0xd
+ .uleb128 0x7
+ .4byte .LASF15
+ .byte 0x3
+ .2byte 0x164
+ .byte 0xc
+ .4byte 0x58
+ .4byte 0xad
+ .uleb128 0x8
+ .4byte 0xad
+ .uleb128 0x9
+ .byte 0
+ .uleb128 0xa
+ .byte 0x8
+ .4byte 0x6d
+ .uleb128 0xb
+ .4byte .LASF16
+ .byte 0x1
+ .byte 0x6
+ .byte 0x5
+ .4byte 0x58
+ .8byte .LFB6
+ .8byte .LFE6-.LFB6
+ .uleb128 0x1
+ .byte 0x9c
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x87
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x7c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_aranges,"",@progbits
+ .4byte 0x2c
+ .2byte 0x2
+ .4byte .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .2byte 0
+ .2byte 0
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .8byte 0
+ .8byte 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF8:
+ .ascii "long long int\000"
+.LASF3:
+ .ascii "unsigned int\000"
+.LASF11:
+ .ascii "nopic-global.c\000"
+.LASF0:
+ .ascii "long unsigned int\000"
+.LASF9:
+ .ascii "long long unsigned int\000"
+.LASF10:
+ .ascii "GNU C17 13.0.0 20220512 (experimental) -mabi=lp64d -marc"
+ .ascii "h=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -"
+ .ascii "O0\000"
+.LASF1:
+ .ascii "unsigned char\000"
+.LASF12:
+ .ascii "/home/liuzhensong/test/ld/nopic/test/global_var\000"
+.LASF7:
+ .ascii "char\000"
+.LASF6:
+ .ascii "long int\000"
+.LASF13:
+ .ascii "g_nopic\000"
+.LASF2:
+ .ascii "short unsigned int\000"
+.LASF15:
+ .ascii "printf\000"
+.LASF16:
+ .ascii "main\000"
+.LASF14:
+ .ascii "abort\000"
+.LASF5:
+ .ascii "short int\000"
+.LASF4:
+ .ascii "signed char\000"
+ .ident "GCC: (GNU) 13.0.0 20220512 (experimental)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-global.sd b/ld/testsuite/ld-loongarch-elf/nopic-global.sd
new file mode 100644
index 00000000000..605206a2832
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-global.sd
@@ -0,0 +1,5 @@
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]: +[0-9]+ +[0-9] +OBJECT +GLOBAL +DEFAULT +[0-9] +g_nopic
+#xpass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-global.xd b/ld/testsuite/ld-loongarch-elf/nopic-global.xd
new file mode 100644
index 00000000000..d0130663db6
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-global.xd
@@ -0,0 +1,3 @@
+Hex dump of section '\.data':
+ +0x[0-9]+ +78563412.*
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-local.out b/ld/testsuite/ld-loongarch-elf/nopic-local.out
new file mode 100644
index 00000000000..3a179f6634e
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-local.out
@@ -0,0 +1 @@
+0x12345678
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-local.rd b/ld/testsuite/ld-loongarch-elf/nopic-local.rd
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-local.rd
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-local.s b/ld/testsuite/ld-loongarch-elf/nopic-local.s
new file mode 100644
index 00000000000..4a496f0325c
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-local.s
@@ -0,0 +1,383 @@
+ .file "nopic-local.c"
+ .text
+.Ltext0:
+ .file 1 "nopic-local.c"
+ .globl g_nopic
+ .data
+ .align 2
+ .type g_nopic, @object
+ .size g_nopic, 4
+g_nopic:
+ .word 305419896
+ .section .rodata
+ .align 3
+.LC0:
+ .ascii "0x%x\012\000"
+ .text
+ .align 2
+ .globl main
+ .type main, @function
+main:
+.LFB6 = .
+ .loc 1 7 1
+ .cfi_startproc
+ addi.d $r3,$r3,-16
+ .cfi_def_cfa_offset 16
+ st.d $r1,$r3,8
+ stptr.d $r22,$r3,0
+ .cfi_offset 1, -8
+ .cfi_offset 22, -16
+ addi.d $r22,$r3,16
+ .cfi_def_cfa 22, 0
+ .loc 1 8 15
+ pcalau12i $r12,%pc_hi20(g_nopic)
+ addi.d $r12,$r12,%pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ .loc 1 8 6
+ or $r13,$r12,$r0
+ lu12i.w $r12,305418240>>12 # 0x12345000
+ ori $r12,$r12,1656
+ bne $r13,$r12,.L2
+ .loc 1 9 5
+ pcalau12i $r12,%pc_hi20(g_nopic)
+ addi.d $r12,$r12,%pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ or $r5,$r12,$r0
+ pcalau12i $r12,%pc_hi20(.LC0)
+ addi.d $r4,$r12,%pc_lo12(.LC0)
+ bl %plt(printf)
+ b .L5
+.L2:
+ .loc 1 11 5
+ bl %plt(abort)
+.L5:
+ .loc 1 12 10
+ or $r12,$r0,$r0
+ .loc 1 13 1
+ or $r4,$r12,$r0
+ ld.d $r1,$r3,8
+ .cfi_restore 1
+ ldptr.d $r22,$r3,0
+ .cfi_restore 22
+ addi.d $r3,$r3,16
+ .cfi_def_cfa_register 3
+ jr $r1
+ .cfi_endproc
+.LFE6:
+ .size main, .-main
+.Letext0:
+ .file 2 "/usr/include/stdlib.h"
+ .file 3 "/usr/include/stdio.h"
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .4byte 0xd8
+ .2byte 0x5
+ .byte 0x1
+ .byte 0x8
+ .4byte .Ldebug_abbrev0
+ .uleb128 0x2
+ .4byte .LASF10
+ .byte 0x1d
+ .4byte .LASF11
+ .4byte .LASF12
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .4byte .Ldebug_line0
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF0
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x8
+ .4byte .LASF1
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x7
+ .4byte .LASF2
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x7
+ .4byte .LASF3
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x5
+ .4byte .LASF5
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .ascii "int\000"
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF6
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF7
+ .uleb128 0x4
+ .4byte 0x66
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF8
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF9
+ .uleb128 0x5
+ .4byte .LASF13
+ .byte 0x1
+ .byte 0x4
+ .byte 0x5
+ .4byte 0x58
+ .uleb128 0x9
+ .byte 0x3
+ .8byte g_nopic
+ .uleb128 0x6
+ .4byte .LASF14
+ .byte 0x2
+ .2byte 0x256
+ .byte 0xd
+ .uleb128 0x7
+ .4byte .LASF15
+ .byte 0x3
+ .2byte 0x164
+ .byte 0xc
+ .4byte 0x58
+ .4byte 0xb7
+ .uleb128 0x8
+ .4byte 0xb7
+ .uleb128 0x9
+ .byte 0
+ .uleb128 0xa
+ .byte 0x8
+ .4byte 0x6d
+ .uleb128 0xb
+ .4byte .LASF16
+ .byte 0x1
+ .byte 0x6
+ .byte 0x5
+ .4byte 0x58
+ .8byte .LFB6
+ .8byte .LFE6-.LFB6
+ .uleb128 0x1
+ .byte 0x9c
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x87
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x7c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_aranges,"",@progbits
+ .4byte 0x2c
+ .2byte 0x2
+ .4byte .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .2byte 0
+ .2byte 0
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .8byte 0
+ .8byte 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF8:
+ .ascii "long long int\000"
+.LASF3:
+ .ascii "unsigned int\000"
+.LASF16:
+ .ascii "main\000"
+.LASF0:
+ .ascii "long unsigned int\000"
+.LASF9:
+ .ascii "long long unsigned int\000"
+.LASF11:
+ .ascii "nopic-local.c\000"
+.LASF10:
+ .ascii "GNU C17 13.0.0 20220512 (experimental) -mabi=lp64d -marc"
+ .ascii "h=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -"
+ .ascii "O0\000"
+.LASF1:
+ .ascii "unsigned char\000"
+.LASF7:
+ .ascii "char\000"
+.LASF6:
+ .ascii "long int\000"
+.LASF13:
+ .ascii "g_nopic\000"
+.LASF2:
+ .ascii "short unsigned int\000"
+.LASF15:
+ .ascii "printf\000"
+.LASF12:
+ .ascii "/home/liuzhensong/test/ld/nopic/test/local_var\000"
+.LASF14:
+ .ascii "abort\000"
+.LASF5:
+ .ascii "short int\000"
+.LASF4:
+ .ascii "signed char\000"
+ .ident "GCC: (GNU) 13.0.0 20220512 (experimental)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-local.sd b/ld/testsuite/ld-loongarch-elf/nopic-local.sd
new file mode 100644
index 00000000000..2dd16be527d
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-local.sd
@@ -0,0 +1,5 @@
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]: +[0-9]+ +[0-9] +OBJECT +GLOBAL +DEFAULT +[0-9] +g_nopic
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-local.xd b/ld/testsuite/ld-loongarch-elf/nopic-local.xd
new file mode 100644
index 00000000000..d0130663db6
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-local.xd
@@ -0,0 +1,3 @@
+Hex dump of section '\.data':
+ +0x[0-9]+ +78563412.*
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.rd b/ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.rd
new file mode 100644
index 00000000000..2c32a543177
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.rd
@@ -0,0 +1,5 @@
+Relocation section '.rela.dyn'.*
+ +Offset +Info +Type +Sym\. +Value +Sym\. +Name +\+ +Addend
+#...
+[0-9a-f]+ +[0-9a-f]+ +R_LARCH_64 +[0-9a-f]+ +g_nopic +\+ +[0-9a-f]
+#...
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.sd b/ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.sd
new file mode 100644
index 00000000000..4745ff78093
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.sd
@@ -0,0 +1,10 @@
+Symbol table '\.dynsym' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]+: +[0-9]+ +[0-9] +OBJECT +WEAK +DEFAULT +UND +g_nopic
+#...
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]+: +[0-9]+ +[0-9] +OBJECT +WEAK +DEFAULT +UND +g_nopic
+#...
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-global.out b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.out
new file mode 100644
index 00000000000..3a179f6634e
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.out
@@ -0,0 +1 @@
+0x12345678
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-global.s b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.s
new file mode 100644
index 00000000000..298780a36c6
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.s
@@ -0,0 +1,374 @@
+ .file "nopic-weak-global.c"
+ .text
+.Ltext0:
+ .file 1 "nopic-weak-global.c"
+ .section .rodata
+ .align 3
+.LC0:
+ .ascii "0x%x\012\000"
+ .text
+ .align 2
+ .globl main
+ .type main, @function
+main:
+.LFB6 = .
+ .loc 1 7 1
+ .cfi_startproc
+ addi.d $r3,$r3,-16
+ .cfi_def_cfa_offset 16
+ st.d $r1,$r3,8
+ stptr.d $r22,$r3,0
+ .cfi_offset 1, -8
+ .cfi_offset 22, -16
+ addi.d $r22,$r3,16
+ .cfi_def_cfa 22, 0
+ .loc 1 8 15
+ pcalau12i $r12,%got_pc_hi20(g_nopic)
+ ld.d $r12,$r12,%got_pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ .loc 1 8 6
+ or $r13,$r12,$r0
+ lu12i.w $r12,305418240>>12 # 0x12345000
+ ori $r12,$r12,1656
+ bne $r13,$r12,.L2
+ .loc 1 9 5
+ pcalau12i $r12,%got_pc_hi20(g_nopic)
+ ld.d $r12,$r12,%got_pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ or $r5,$r12,$r0
+ pcalau12i $r12,%pc_hi20(.LC0)
+ addi.d $r4,$r12,%pc_lo12(.LC0)
+ bl %plt(printf)
+ b .L5
+.L2:
+ .loc 1 11 5
+ bl %plt(abort)
+.L5:
+ .loc 1 12 10
+ or $r12,$r0,$r0
+ .loc 1 13 1
+ or $r4,$r12,$r0
+ ld.d $r1,$r3,8
+ .cfi_restore 1
+ ldptr.d $r22,$r3,0
+ .cfi_restore 22
+ addi.d $r3,$r3,16
+ .cfi_def_cfa_register 3
+ jr $r1
+ .cfi_endproc
+.LFE6:
+ .size main, .-main
+ .weak g_nopic
+.Letext0:
+ .file 2 "/usr/include/stdlib.h"
+ .file 3 "/usr/include/stdio.h"
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .4byte 0xce
+ .2byte 0x5
+ .byte 0x1
+ .byte 0x8
+ .4byte .Ldebug_abbrev0
+ .uleb128 0x2
+ .4byte .LASF10
+ .byte 0x1d
+ .4byte .LASF11
+ .4byte .LASF12
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .4byte .Ldebug_line0
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF0
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x8
+ .4byte .LASF1
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x7
+ .4byte .LASF2
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x7
+ .4byte .LASF3
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x5
+ .4byte .LASF5
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .ascii "int\000"
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF6
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF7
+ .uleb128 0x4
+ .4byte 0x66
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF8
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF9
+ .uleb128 0x5
+ .4byte .LASF13
+ .byte 0x1
+ .byte 0x4
+ .byte 0x22
+ .4byte 0x58
+ .uleb128 0x6
+ .4byte .LASF14
+ .byte 0x2
+ .2byte 0x256
+ .byte 0xd
+ .uleb128 0x7
+ .4byte .LASF15
+ .byte 0x3
+ .2byte 0x164
+ .byte 0xc
+ .4byte 0x58
+ .4byte 0xad
+ .uleb128 0x8
+ .4byte 0xad
+ .uleb128 0x9
+ .byte 0
+ .uleb128 0xa
+ .byte 0x8
+ .4byte 0x6d
+ .uleb128 0xb
+ .4byte .LASF16
+ .byte 0x1
+ .byte 0x6
+ .byte 0x5
+ .4byte 0x58
+ .8byte .LFB6
+ .8byte .LFE6-.LFB6
+ .uleb128 0x1
+ .byte 0x9c
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x87
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x7c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_aranges,"",@progbits
+ .4byte 0x2c
+ .2byte 0x2
+ .4byte .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .2byte 0
+ .2byte 0
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .8byte 0
+ .8byte 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF8:
+ .ascii "long long int\000"
+.LASF3:
+ .ascii "unsigned int\000"
+.LASF16:
+ .ascii "main\000"
+.LASF0:
+ .ascii "long unsigned int\000"
+.LASF9:
+ .ascii "long long unsigned int\000"
+.LASF10:
+ .ascii "GNU C17 13.0.0 20220512 (experimental) -mabi=lp64d -marc"
+ .ascii "h=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -"
+ .ascii "O0\000"
+.LASF1:
+ .ascii "unsigned char\000"
+.LASF12:
+ .ascii "/home/liuzhensong/test/ld/nopic/test/global_var\000"
+.LASF7:
+ .ascii "char\000"
+.LASF6:
+ .ascii "long int\000"
+.LASF13:
+ .ascii "g_nopic\000"
+.LASF2:
+ .ascii "short unsigned int\000"
+.LASF15:
+ .ascii "printf\000"
+.LASF14:
+ .ascii "abort\000"
+.LASF5:
+ .ascii "short int\000"
+.LASF11:
+ .ascii "nopic-weak-global.c\000"
+.LASF4:
+ .ascii "signed char\000"
+ .ident "GCC: (GNU) 13.0.0 20220512 (experimental)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-global.sd b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.sd
new file mode 100644
index 00000000000..f4634d20106
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.sd
@@ -0,0 +1,5 @@
+#xfail: *-*-*
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]: +[0-9]+ +[0-9] +OBJECT +GLOBAL +DEFAULT +[0-9] +g_nopic
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-global.xd b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.xd
new file mode 100644
index 00000000000..d0130663db6
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-global.xd
@@ -0,0 +1,3 @@
+Hex dump of section '\.data':
+ +0x[0-9]+ +78563412.*
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-local.out b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.out
new file mode 100644
index 00000000000..3a179f6634e
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.out
@@ -0,0 +1 @@
+0x12345678
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-local.rd b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.rd
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.rd
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-local.s b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.s
new file mode 100644
index 00000000000..00a4b6162af
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.s
@@ -0,0 +1,383 @@
+ .file "nopic-weak-local.c"
+ .text
+.Ltext0:
+ .file 1 "nopic-weak-local.c"
+ .weak g_nopic
+ .data
+ .align 2
+ .type g_nopic, @object
+ .size g_nopic, 4
+g_nopic:
+ .word 305419896
+ .section .rodata
+ .align 3
+.LC0:
+ .ascii "0x%x\012\000"
+ .text
+ .align 2
+ .globl main
+ .type main, @function
+main:
+.LFB6 = .
+ .loc 1 7 1
+ .cfi_startproc
+ addi.d $r3,$r3,-16
+ .cfi_def_cfa_offset 16
+ st.d $r1,$r3,8
+ stptr.d $r22,$r3,0
+ .cfi_offset 1, -8
+ .cfi_offset 22, -16
+ addi.d $r22,$r3,16
+ .cfi_def_cfa 22, 0
+ .loc 1 8 15
+ pcalau12i $r12,%pc_hi20(g_nopic)
+ addi.d $r12,$r12,%pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ .loc 1 8 6
+ or $r13,$r12,$r0
+ lu12i.w $r12,305418240>>12 # 0x12345000
+ ori $r12,$r12,1656
+ bne $r13,$r12,.L2
+ .loc 1 9 5
+ pcalau12i $r12,%pc_hi20(g_nopic)
+ addi.d $r12,$r12,%pc_lo12(g_nopic)
+ ldptr.w $r12,$r12,0
+ or $r5,$r12,$r0
+ pcalau12i $r12,%pc_hi20(.LC0)
+ addi.d $r4,$r12,%pc_lo12(.LC0)
+ bl %plt(printf)
+ b .L5
+.L2:
+ .loc 1 11 5
+ bl %plt(abort)
+.L5:
+ .loc 1 12 10
+ or $r12,$r0,$r0
+ .loc 1 13 1
+ or $r4,$r12,$r0
+ ld.d $r1,$r3,8
+ .cfi_restore 1
+ ldptr.d $r22,$r3,0
+ .cfi_restore 22
+ addi.d $r3,$r3,16
+ .cfi_def_cfa_register 3
+ jr $r1
+ .cfi_endproc
+.LFE6:
+ .size main, .-main
+.Letext0:
+ .file 2 "/usr/include/stdlib.h"
+ .file 3 "/usr/include/stdio.h"
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .4byte 0xd8
+ .2byte 0x5
+ .byte 0x1
+ .byte 0x8
+ .4byte .Ldebug_abbrev0
+ .uleb128 0x2
+ .4byte .LASF10
+ .byte 0x1d
+ .4byte .LASF11
+ .4byte .LASF12
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .4byte .Ldebug_line0
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF0
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x8
+ .4byte .LASF1
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x7
+ .4byte .LASF2
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x7
+ .4byte .LASF3
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x5
+ .4byte .LASF5
+ .uleb128 0x3
+ .byte 0x4
+ .byte 0x5
+ .ascii "int\000"
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF6
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x6
+ .4byte .LASF7
+ .uleb128 0x4
+ .4byte 0x66
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x5
+ .4byte .LASF8
+ .uleb128 0x1
+ .byte 0x8
+ .byte 0x7
+ .4byte .LASF9
+ .uleb128 0x5
+ .4byte .LASF13
+ .byte 0x1
+ .byte 0x4
+ .byte 0x1b
+ .4byte 0x58
+ .uleb128 0x9
+ .byte 0x3
+ .8byte g_nopic
+ .uleb128 0x6
+ .4byte .LASF14
+ .byte 0x2
+ .2byte 0x256
+ .byte 0xd
+ .uleb128 0x7
+ .4byte .LASF15
+ .byte 0x3
+ .2byte 0x164
+ .byte 0xc
+ .4byte 0x58
+ .4byte 0xb7
+ .uleb128 0x8
+ .4byte 0xb7
+ .uleb128 0x9
+ .byte 0
+ .uleb128 0xa
+ .byte 0x8
+ .4byte 0x6d
+ .uleb128 0xb
+ .4byte .LASF16
+ .byte 0x1
+ .byte 0x6
+ .byte 0x5
+ .4byte 0x58
+ .8byte .LFB6
+ .8byte .LFE6-.LFB6
+ .uleb128 0x1
+ .byte 0x9c
+ .byte 0
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0xe
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x1b
+ .uleb128 0xe
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x87
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0x5
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x27
+ .uleb128 0x19
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0xe
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x39
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x7c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_aranges,"",@progbits
+ .4byte 0x2c
+ .2byte 0x2
+ .4byte .Ldebug_info0
+ .byte 0x8
+ .byte 0
+ .2byte 0
+ .2byte 0
+ .8byte .Ltext0
+ .8byte .Letext0-.Ltext0
+ .8byte 0
+ .8byte 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF8:
+ .ascii "long long int\000"
+.LASF3:
+ .ascii "unsigned int\000"
+.LASF16:
+ .ascii "main\000"
+.LASF0:
+ .ascii "long unsigned int\000"
+.LASF9:
+ .ascii "long long unsigned int\000"
+.LASF10:
+ .ascii "GNU C17 13.0.0 20220512 (experimental) -mabi=lp64d -marc"
+ .ascii "h=loongarch64 -mfpu=64 -mcmodel=normal -mtune=la464 -g -"
+ .ascii "O0\000"
+.LASF1:
+ .ascii "unsigned char\000"
+.LASF7:
+ .ascii "char\000"
+.LASF6:
+ .ascii "long int\000"
+.LASF11:
+ .ascii "nopic-weak-local.c\000"
+.LASF13:
+ .ascii "g_nopic\000"
+.LASF2:
+ .ascii "short unsigned int\000"
+.LASF15:
+ .ascii "printf\000"
+.LASF12:
+ .ascii "/home/liuzhensong/test/ld/nopic/test/local_var\000"
+.LASF14:
+ .ascii "abort\000"
+.LASF5:
+ .ascii "short int\000"
+.LASF4:
+ .ascii "signed char\000"
+ .ident "GCC: (GNU) 13.0.0 20220512 (experimental)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-local.sd b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.sd
new file mode 100644
index 00000000000..b2970676a44
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.sd
@@ -0,0 +1,5 @@
+Symbol table '\.symtab' contains [0-9]+ entries:
+ +Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+#...
+ +[0-9]: +[0-9]+ +[0-9] +OBJECT +WEAK +DEFAULT +[0-9] +g_nopic
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/nopic-weak-local.xd b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.xd
new file mode 100644
index 00000000000..d0130663db6
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/nopic-weak-local.xd
@@ -0,0 +1,3 @@
+Hex dump of section '\.data':
+ +0x[0-9]+ +78563412.*
+#pass
diff --git a/ld/testsuite/ld-loongarch-elf/pic.exp b/ld/testsuite/ld-loongarch-elf/pic.exp
new file mode 100644
index 00000000000..40a5138a39a
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/pic.exp
@@ -0,0 +1,202 @@
+# Expect script for LoongArch ELF linker tests
+# Copyright (C) 2022 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+if ![istarget loongarch*-*-*] {
+ return
+}
+
+global verbose
+set old_verbose verbose
+# set verbose 3
+
+# Check to see if the C compiler works
+if { ![check_compiler_available] } {
+ return
+}
+
+
+set testname "nopic link test pre build"
+set pre_builds [list \
+ [list \
+ "$testname" \
+ "-shared $NOSANITIZE_CFLAGS" \
+ "-fPIC $NOSANITIZE_CFLAGS" \
+ {libnopic-global.s} \
+ {} \
+ "libnopic-global.so" \
+ ] \
+]
+
+# 0:name
+# 1:ld or ar options
+# 2:compile options
+# 3:filenames of source files
+# 4:action and options.
+# 5:name of output file
+# 6:language (optional)
+run_cc_link_tests $pre_builds
+
+
+
+set testname "nopic link test"
+
+set link_tests [list \
+ [list \
+ "$testname readelf -s/-x nopic-local" \
+ "-T pic.ld" "" \
+ "" \
+ { nopic-local.s } \
+ [list \
+ [list readelf -s nopic-local.sd] \
+ [list readelf "-x .data" nopic-local.xd] \
+ ] \
+ "nopic-local" \
+ ] \
+ [list \
+ "$testname readelf -s/-x nopic-weak-local" \
+ "-T pic.ld" "" \
+ "" \
+ {nopic-weak-local.s} \
+ [list \
+ [list readelf -s nopic-weak-local.sd] \
+ [list readelf "-x .data" nopic-weak-local.xd] \
+ ] \
+ "nopic-weak-local" \
+ ] \
+ [list \
+ "$testname readelf -s/-x nopic-global" \
+ "-T pic.ld" "" \
+ "" \
+ {nopic-global.s libnopic-global.s} \
+ [list \
+ [list readelf -s nopic-global.sd] \
+ [list readelf "-x .data" nopic-global.xd] \
+ ] \
+ "nopic-global" \
+ ] \
+ [list \
+ "$testname readelf -s/-r nopic-global-so" \
+ "-L./tmpdir -lnopic-global -L/usr/lib -lc" "" \
+ "" \
+ {nopic-global.s} \
+ [list \
+ [list readelf -s nopic-global-so.sd] \
+ [list readelf -r nopic-global-so.rd] \
+ ] \
+ "nopic-global-so" \
+ ] \
+ [list \
+ "$testname readelf -s/-x nopic-weak-global" \
+ "-T pic.ld" "" \
+ "" \
+ {nopic-weak-global.s libnopic-global.s} \
+ [list \
+ [list readelf -s nopic-weak-global.sd] \
+ [list readelf "-x .data" nopic-weak-global.xd] \
+ ] \
+ "nopic-weak-global" \
+ ] \
+ [list \
+ "$testname readelf -s/-x nopic-weak-global-so" \
+ "-L./tmpdir -lnopic-global -L/usr/lib -lc" "" \
+ "" \
+ {nopic-weak-global.s} \
+ [list \
+ [list readelf -s nopic-weak-global-so.sd] \
+ [list readelf -r nopic-weak-global-so.rd] \
+ ] \
+ "nopic-weak-global-so" \
+ ] \
+]
+
+# 0:name
+# 1:ld/ar leading options, placed before object files
+# 2:ld/ar trailing options, placed after object files
+# 3:assembler options
+# 4:filenames of assembler files
+# 5:list of actions, options and expected outputs.
+# 6:name of output file
+# 7:compiler flags (optional)
+run_ld_link_tests $link_tests
+
+set testname "nopic link exec test"
+
+set link_exec_tests [list \
+ [list \
+ "$testname" \
+ "" "" \
+ { nopic-local.s } \
+ "nopic-local" \
+ "nopic-local.out" \
+ ] \
+ [list \
+ "$testname" \
+ "" "" \
+ { nopic-weak-local.s } \
+ "nopic-weak-local" \
+ "nopic-weak-local.out" \
+ ] \
+ [list \
+ "$testname" \
+ "" "" \
+ { nopic-global.s libnopic-global.s } \
+ "nopic-global" \
+ "nopic-global.out" \
+ ] \
+ [list \
+ "$testname" \
+ "-L./tmpdir -lnopic-global -lc -Wl,-rpath=./tmpdir -no-pie" "" \
+ { nopic-global.s } \
+ "nopic-global-so" \
+ "nopic-global.out" \
+ ] \
+ [list \
+ "$testname" \
+ "" "" \
+ { nopic-weak-global.s libnopic-global.s } \
+ "nopic-weak-global" \
+ "nopic-weak-global.out" \
+ ] \
+ [list \
+ "$testname" \
+ "-L./tmpdir -lnopic-global -lc -Wl,-rpath=./tmpdir -no-pie" "" \
+ { nopic-weak-global.s } \
+ "nopic-weak-global-so" \
+ "nopic-weak-global.out" \
+ ] \
+]
+
+# ldtests contains test-items with 3 items followed by 1 lists, 2 items
+# and 3 optional items:
+# 0:name
+# 1:ld leading options, placed before object files
+# 2:assembler options
+# 3:filenames of source files
+# 4:name of output file
+# 5:expected output
+# 6:compiler flags (optional)
+# 7:language (optional)
+# 8:linker warning (optional)
+# 9:ld trailing options, placed after object files (optional)
+run_ld_link_exec_tests $link_exec_tests
+
+
+#set verbose old_verbose
diff --git a/ld/testsuite/ld-loongarch-elf/pic.ld b/ld/testsuite/ld-loongarch-elf/pic.ld
new file mode 100644
index 00000000000..d57b37f5310
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/pic.ld
@@ -0,0 +1,18 @@
+SECTIONS
+{
+ .bss : { *(.dynbss) }
+ .got : { *(.got.plt) *(.got) }
+ .dynamic : { *(.dynamic) }
+ .data : { *(.data) }
+ .rela.dyn : { *(.rela.*) }
+ .interp : { *(.interp) }
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ .debug_foo : { *(.debug_foo) }
+ .shstrtab : { *(.shstrtab) }
+ .symtab : { *(.symtab) }
+ .strtab : { *(.strtab) }
+ /DISCARD/ : { *(*) }
+}