]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
LoongArch: Do not emit R_LARCH_RELAX for two register macros
authormengqinggang <mengqinggang@loongson.cn>
Wed, 10 Jan 2024 01:55:13 +0000 (09:55 +0800)
committerliuzhensong <liuzhensong@loongson.cn>
Sun, 21 Jan 2024 02:05:38 +0000 (10:05 +0800)
For two register macros (e.g. la.local $t0, $t1, symbol) used in extreme code
model, do not emit R_LARCH_RELAX relocations.

gas/config/tc-loongarch.c
gas/testsuite/gas/loongarch/macro_op_extreme_pc.d
gas/testsuite/gas/loongarch/tlsdesc_large_pc.d
ld/testsuite/ld-loongarch-elf/macro_op.d

index 5348371fa2c16141a8f29f06d6ec90314fae9ee4..863ac9cea434ed590fc3a2bed34f6b75a883c505 100644 (file)
@@ -71,7 +71,17 @@ struct loongarch_cl_insn
   long where;
   /* The relocs associated with the instruction, if any.  */
   fixS *fixp[MAX_RELOC_NUMBER_A_INSN];
-  long macro_id;
+  /* Represents macros or instructions expanded from macro.
+     For la.local -> la.pcrel or la.pcrel -> pcalau12i + addi.d, la.pcrel,
+     pcalau12i and addi.d are expanded from macro.
+     The first bit represents expanded from one register macro (e.g.
+     la.local $t0, symbol) and emit R_LARCH_RELAX relocations.
+     The second bit represents expanded from two registers macro (e.g.
+     la.local $t0, $t1, symbol) and not emit R_LARCH_RELAX relocations.
+
+     The macros or instructions expanded from macros do not output register
+     deprecated warning.  */
+  unsigned int expand_from_macro;
 };
 
 #ifndef DEFAULT_ARCH
@@ -722,7 +732,10 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
                  ip->reloc_info[ip->reloc_num].value = const_0;
                  ip->reloc_num++;
                }
-             if (LARCH_opts.relax && ip->macro_id
+
+             /* Only one register macros (used in normal code model)
+                emit R_LARCH_RELAX.  */
+             if (LARCH_opts.relax && (ip->expand_from_macro & 1)
                    && (BFD_RELOC_LARCH_PCALA_HI20 == reloc_type
                        || BFD_RELOC_LARCH_PCALA_LO12 == reloc_type
                        || BFD_RELOC_LARCH_GOT_PC_HI20 == reloc_type
@@ -754,7 +767,9 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
       imm = (intptr_t) str_hash_find (r_deprecated_htab, arg);
       ip->match_now = 0 < imm;
       ret = imm - 1;
-      if (ip->match_now && !ip->macro_id)
+      /* !ip->expand_from_macro: avoiding duplicate output warnings,
+        only the first macro output warning.  */
+      if (ip->match_now && !ip->expand_from_macro)
        as_warn (_("register alias %s is deprecated, use %s instead"),
                 arg, r_abi_names[ret]);
       break;
@@ -773,7 +788,7 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
        }
       ip->match_now = 0 < imm;
       ret = imm - 1;
-      if (ip->match_now && !ip->macro_id)
+      if (ip->match_now && !ip->expand_from_macro)
        break;
       /* Handle potential usage of deprecated register aliases.  */
       imm = (intptr_t) str_hash_find (f_deprecated_htab, arg);
@@ -1172,7 +1187,7 @@ assember_macro_helper (const char *const args[], void *context_ptr)
  * assuming 'not starting with space and not ending with space' or pass in
  * empty c_str.  */
 static void
-loongarch_assemble_INSNs (char *str, struct loongarch_cl_insn *ctx)
+loongarch_assemble_INSNs (char *str, unsigned int expand_from_macro)
 {
   char *rest;
   size_t len_str = strlen(str);
@@ -1195,7 +1210,7 @@ loongarch_assemble_INSNs (char *str, struct loongarch_cl_insn *ctx)
 
       struct loongarch_cl_insn the_one = { 0 };
       the_one.name = str;
-      the_one.macro_id = ctx->macro_id;
+      the_one.expand_from_macro = expand_from_macro;
 
       for (; *str && *str != ' '; str++)
        ;
@@ -1217,29 +1232,37 @@ loongarch_assemble_INSNs (char *str, struct loongarch_cl_insn *ctx)
        break;
 
       append_fixp_and_insn (&the_one);
+
+      /* Expanding macro instructions.  */
       if (the_one.insn_length == 0 && the_one.insn->macro)
        {
-         the_one.macro_id = 1;
+         unsigned int new_expand_from_macro = 0;
+         if (2 == the_one.arg_num)
+           new_expand_from_macro |= 1;
+         else if (3 == the_one.arg_num)
+           new_expand_from_macro |= 2;
 
          char *c_str = loongarch_expand_macro (the_one.insn->macro,
                                                the_one.arg_strs,
                                                assember_macro_helper,
                                                &the_one, len_str);
-         loongarch_assemble_INSNs (c_str, &the_one);
+         /* The first instruction expanded from macro.  */
+         loongarch_assemble_INSNs (c_str, new_expand_from_macro);
          free (c_str);
        }
     }
   while (0);
 
+  /* The rest instructions expanded from macro, split by semicolon(;),
+     assembly one by one.  */
   if (*rest != '\0')
-    loongarch_assemble_INSNs (rest, ctx);
+    loongarch_assemble_INSNs (rest, expand_from_macro);
 }
 
 void
 md_assemble (char *str)
 {
-  struct loongarch_cl_insn the_one = { 0 };
-  loongarch_assemble_INSNs (str, &the_one);
+  loongarch_assemble_INSNs (str, 0);
 }
 
 const char *
index 8e4b6e6c2b14b283fd7562745780ac80d14fbb0f..68fbb338c365d05e12a7793bd284e34f93b80f8f 100644 (file)
@@ -2,87 +2,76 @@
 #objdump: -dr
 #skip: loongarch32-*-*
 
-.*:     file format .*
+.*:[    ]+file format .*
+
 
 Disassembly of section .text:
 
-0+ <.L1>:
-   0:  1a000004        pcalau12i       \$a0, 0
-                       0: R_LARCH_PCALA_HI20   .L1
-                       0: R_LARCH_RELAX        \*ABS\*
-   4:  02c00005        li.d            \$a1, 0
-                       4: R_LARCH_PCALA_LO12   .L1
-                       4: R_LARCH_RELAX        \*ABS\*
-   8:  16000005        lu32i.d         \$a1, 0
-                       8: R_LARCH_PCALA64_LO20 .L1
-   c:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       c: R_LARCH_PCALA64_HI12 .L1
-  10:  00109484        add.d           \$a0, \$a0, \$a1
-  14:  1a000004        pcalau12i       \$a0, 0
-                       14: R_LARCH_PCALA_HI20  .L1
-                       14: R_LARCH_RELAX       \*ABS\*
-  18:  02c00005        li.d            \$a1, 0
-                       18: R_LARCH_PCALA_LO12  .L1
-                       18: R_LARCH_RELAX       \*ABS\*
-  1c:  16000005        lu32i.d         \$a1, 0
-                       1c: R_LARCH_PCALA64_LO20        .L1
-  20:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       20: R_LARCH_PCALA64_HI12        .L1
-  24:  00109484        add.d           \$a0, \$a0, \$a1
-  28:  1a000004        pcalau12i       \$a0, 0
-                       28: R_LARCH_PCALA_HI20  .L1
-                       28: R_LARCH_RELAX       \*ABS\*
-  2c:  02c00005        li.d            \$a1, 0
-                       2c: R_LARCH_PCALA_LO12  .L1
-                       2c: R_LARCH_RELAX       \*ABS\*
-  30:  16000005        lu32i.d         \$a1, 0
-                       30: R_LARCH_PCALA64_LO20        .L1
-  34:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       34: R_LARCH_PCALA64_HI12        .L1
-  38:  00109484        add.d           \$a0, \$a0, \$a1
-  3c:  1a000004        pcalau12i       \$a0, 0
-                       3c: R_LARCH_GOT_PC_HI20 .L1
-                       3c: R_LARCH_RELAX       \*ABS\*
-  40:  02c00005        li.d            \$a1, 0
-                       40: R_LARCH_GOT_PC_LO12 .L1
-                       40: R_LARCH_RELAX       \*ABS\*
-  44:  16000005        lu32i.d         \$a1, 0
-                       44: R_LARCH_GOT64_PC_LO20       .L1
-  48:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       48: R_LARCH_GOT64_PC_HI12       .L1
-  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        li.d            \$a1, 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
-                       6c: R_LARCH_RELAX       \*ABS\*
-  70:  02c00005        li.d            \$a1, 0
-                       70: R_LARCH_GOT_PC_LO12 TLS1
-                       70: R_LARCH_RELAX       \*ABS\*
-  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
-                       80: R_LARCH_RELAX       \*ABS\*
-  84:  02c00005        li.d            \$a1, 0
-                       84: R_LARCH_GOT_PC_LO12 TLS1
-                       84: R_LARCH_RELAX       \*ABS\*
-  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
+[      ]*0000000000000000 <.L1>:
+[      ]+0:[   ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+0: R_LARCH_PCALA_HI20[        ]+.L1
+[      ]+4:[   ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+4: R_LARCH_PCALA_LO12[        ]+.L1
+[      ]+8:[   ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+8: R_LARCH_PCALA64_LO20[      ]+.L1
+[      ]+c:[   ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+c: R_LARCH_PCALA64_HI12[      ]+.L1
+[      ]+10:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+14:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+14: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+18:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+18: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+1c:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+1c: R_LARCH_PCALA64_LO20[     ]+.L1
+[      ]+20:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+20: R_LARCH_PCALA64_HI12[     ]+.L1
+[      ]+24:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+28:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+28: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+2c:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+2c: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+30:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+30: R_LARCH_PCALA64_LO20[     ]+.L1
+[      ]+34:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+34: R_LARCH_PCALA64_HI12[     ]+.L1
+[      ]+38:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+3c:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+3c: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+40:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+40: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+44:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+44: R_LARCH_GOT64_PC_LO20[    ]+.L1
+[      ]+48:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+48: R_LARCH_GOT64_PC_HI12[    ]+.L1
+[      ]+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[     ]+li.d[         ]+\$a1, 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[     ]+li.d[         ]+\$a1, 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[     ]+li.d[         ]+\$a1, 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
index 2b7a466083a9a1503a44215a701d59546d0ddb45..a7fcce31615d022d4b7b06d47ce570f52d085d8f 100644 (file)
@@ -2,37 +2,35 @@
 #objdump: -dr
 #skip: loongarch32-*-*
 
-.*:     file format .*
+.*:[    ]+file format .*
 
 
 Disassembly of section .text:
 
-0+ <.*>:
-   0:  1a000004        pcalau12i       \$a0, 0
-                       0: R_LARCH_TLS_DESC_PC_HI20     var
-   4:  02c00005        li.d            \$a1, 0
-                       4: R_LARCH_TLS_DESC_PC_LO12     var
-   8:  16000005        lu32i.d         \$a1, 0
-                       8: R_LARCH_TLS_DESC64_PC_LO20   var
-   c:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       c: R_LARCH_TLS_DESC64_PC_HI12   var
-  10:  00109484        add.d           \$a0, \$a0, \$a1
-  14:  28c00081        ld.d            \$ra, \$a0, 0
-                       14: R_LARCH_TLS_DESC_LD var
-  18:  4c000021        jirl            \$ra, \$ra, 0
-                       18: R_LARCH_TLS_DESC_CALL       var
-  1c:  1a000004        pcalau12i       \$a0, 0
-                       1c: R_LARCH_TLS_DESC_PC_HI20    var
-                       1c: R_LARCH_RELAX       \*ABS\*
-  20:  02c00001        li.d            \$ra, 0
-                       20: R_LARCH_TLS_DESC_PC_LO12    var
-                       20: R_LARCH_RELAX       \*ABS\*
-  24:  16000001        lu32i.d         \$ra, 0
-                       24: R_LARCH_TLS_DESC64_PC_LO20  var
-  28:  03000021        lu52i.d         \$ra, \$ra, 0
-                       28: R_LARCH_TLS_DESC64_PC_HI12  var
-  2c:  00108484        add.d           \$a0, \$a0, \$ra
-  30:  28c00081        ld.d            \$ra, \$a0, 0
-                       30: R_LARCH_TLS_DESC_LD var
-  34:  4c000021        jirl            \$ra, \$ra, 0
-                       34: R_LARCH_TLS_DESC_CALL       var
+[      ]*0000000000000000 <.text>:
+[      ]+0:[   ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+0: R_LARCH_TLS_DESC_PC_HI20[  ]+var
+[      ]+4:[   ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+4: R_LARCH_TLS_DESC_PC_LO12[  ]+var
+[      ]+8:[   ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+8: R_LARCH_TLS_DESC64_PC_LO20[        ]+var
+[      ]+c:[   ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+c: R_LARCH_TLS_DESC64_PC_HI12[        ]+var
+[      ]+10:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+14:[  ]+28c00081[     ]+ld.d[         ]+\$ra, \$a0, 0
+[      ]+14: R_LARCH_TLS_DESC_LD[      ]+var
+[      ]+18:[  ]+4c000021[     ]+jirl[         ]+\$ra, \$ra, 0
+[      ]+18: R_LARCH_TLS_DESC_CALL[    ]+var
+[      ]+1c:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+1c: R_LARCH_TLS_DESC_PC_HI20[         ]+var
+[      ]+20:[  ]+02c00001[     ]+li.d[         ]+\$ra, 0
+[      ]+20: R_LARCH_TLS_DESC_PC_LO12[         ]+var
+[      ]+24:[  ]+16000001[     ]+lu32i.d[      ]+\$ra, 0
+[      ]+24: R_LARCH_TLS_DESC64_PC_LO20[       ]+var
+[      ]+28:[  ]+03000021[     ]+lu52i.d[      ]+\$ra, \$ra, 0
+[      ]+28: R_LARCH_TLS_DESC64_PC_HI12[       ]+var
+[      ]+2c:[  ]+00108484[     ]+add.d[        ]+\$a0, \$a0, \$ra
+[      ]+30:[  ]+28c00081[     ]+ld.d[         ]+\$ra, \$a0, 0
+[      ]+30: R_LARCH_TLS_DESC_LD[      ]+var
+[      ]+34:[  ]+4c000021[     ]+jirl[         ]+\$ra, \$ra, 0
+[      ]+34: R_LARCH_TLS_DESC_CALL[    ]+var
index f0d87c038025ef7fae98fc5344b6c5c02b9c2861..c9493918a93cd481c4bf43d45ba7414f493d7212 100644 (file)
 #objdump: -dr
 #skip: loongarch32-*-*
 
-.*:     file format .*
+.*:[    ]+file format .*
 
 
 Disassembly of section .text:
 
-0+ <.L1>:
-   0:  00150004        move            \$a0, \$zero
-   4:  02bffc04        li.w            \$a0, -1
-   8:  00150004        move            \$a0, \$zero
-   c:  02bffc04        li.w            \$a0, -1
-  10:  1a000004        pcalau12i       \$a0, 0
-                       10: R_LARCH_GOT_PC_HI20 .L1
-                       10: R_LARCH_RELAX       \*ABS\*
-  14:  28c00084        ld.d            \$a0, \$a0, 0
-                       14: R_LARCH_GOT_PC_LO12 .L1
-                       14: R_LARCH_RELAX       \*ABS\*
-  18:  1a000004        pcalau12i       \$a0, 0
-                       18: R_LARCH_GOT_PC_HI20 .L1
-                       18: R_LARCH_RELAX       \*ABS\*
-  1c:  28c00084        ld.d            \$a0, \$a0, 0
-                       1c: R_LARCH_GOT_PC_LO12 .L1
-                       1c: R_LARCH_RELAX       \*ABS\*
-  20:  1a000004        pcalau12i       \$a0, 0
-                       20: R_LARCH_GOT_PC_HI20 .L1
-                       20: R_LARCH_RELAX       \*ABS\*
-  24:  02c00005        li.d            \$a1, 0
-                       24: R_LARCH_GOT_PC_LO12 .L1
-                       24: R_LARCH_RELAX       \*ABS\*
-  28:  16000005        lu32i.d         \$a1, 0
-                       28: R_LARCH_GOT64_PC_LO20       .L1
-  2c:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       2c: R_LARCH_GOT64_PC_HI12       .L1
-  30:  380c1484        ldx.d           \$a0, \$a0, \$a1
-  34:  1a000004        pcalau12i       \$a0, 0
-                       34: R_LARCH_GOT_PC_HI20 .L1
-                       34: R_LARCH_RELAX       \*ABS\*
-  38:  28c00084        ld.d            \$a0, \$a0, 0
-                       38: R_LARCH_GOT_PC_LO12 .L1
-                       38: R_LARCH_RELAX       \*ABS\*
-  3c:  1a000004        pcalau12i       \$a0, 0
-                       3c: R_LARCH_GOT_PC_HI20 .L1
-                       3c: R_LARCH_RELAX       \*ABS\*
-  40:  02c00005        li.d            \$a1, 0
-                       40: R_LARCH_GOT_PC_LO12 .L1
-                       40: R_LARCH_RELAX       \*ABS\*
-  44:  16000005        lu32i.d         \$a1, 0
-                       44: R_LARCH_GOT64_PC_LO20       .L1
-  48:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       48: R_LARCH_GOT64_PC_HI12       .L1
-  4c:  380c1484        ldx.d           \$a0, \$a0, \$a1
-  50:  1a000004        pcalau12i       \$a0, 0
-                       50: R_LARCH_GOT_PC_HI20 .L1
-                       50: R_LARCH_RELAX       \*ABS\*
-  54:  28c00084        ld.d            \$a0, \$a0, 0
-                       54: R_LARCH_GOT_PC_LO12 .L1
-                       54: R_LARCH_RELAX       \*ABS\*
-  58:  1a000004        pcalau12i       \$a0, 0
-                       58: R_LARCH_GOT_PC_HI20 .L1
-                       58: R_LARCH_RELAX       \*ABS\*
-  5c:  02c00005        li.d            \$a1, 0
-                       5c: R_LARCH_GOT_PC_LO12 .L1
-                       5c: R_LARCH_RELAX       \*ABS\*
-  60:  16000005        lu32i.d         \$a1, 0
-                       60: R_LARCH_GOT64_PC_LO20       .L1
-  64:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       64: R_LARCH_GOT64_PC_HI12       .L1
-  68:  380c1484        ldx.d           \$a0, \$a0, \$a1
-  6c:  1a000004        pcalau12i       \$a0, 0
-                       6c: R_LARCH_PCALA_HI20  .L1
-                       6c: R_LARCH_RELAX       \*ABS\*
-  70:  02c00084        addi.d          \$a0, \$a0, 0
-                       70: R_LARCH_PCALA_LO12  .L1
-                       70: R_LARCH_RELAX       \*ABS\*
-  74:  1a000004        pcalau12i       \$a0, 0
-                       74: R_LARCH_PCALA_HI20  .L1
-                       74: R_LARCH_RELAX       \*ABS\*
-  78:  02c00005        li.d            \$a1, 0
-                       78: R_LARCH_PCALA_LO12  .L1
-                       78: R_LARCH_RELAX       \*ABS\*
-  7c:  16000005        lu32i.d         \$a1, 0
-                       7c: R_LARCH_PCALA64_LO20        .L1
-  80:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       80: R_LARCH_PCALA64_HI12        .L1
-  84:  00109484        add.d           \$a0, \$a0, \$a1
-  88:  1a000004        pcalau12i       \$a0, 0
-                       88: R_LARCH_PCALA_HI20  .L1
-                       88: R_LARCH_RELAX       \*ABS\*
-  8c:  02c00084        addi.d          \$a0, \$a0, 0
-                       8c: R_LARCH_PCALA_LO12  .L1
-                       8c: R_LARCH_RELAX       \*ABS\*
-  90:  1a000004        pcalau12i       \$a0, 0
-                       90: R_LARCH_PCALA_HI20  .L1
-                       90: R_LARCH_RELAX       \*ABS\*
-  94:  02c00005        li.d            \$a1, 0
-                       94: R_LARCH_PCALA_LO12  .L1
-                       94: R_LARCH_RELAX       \*ABS\*
-  98:  16000005        lu32i.d         \$a1, 0
-                       98: R_LARCH_PCALA64_LO20        .L1
-  9c:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       9c: R_LARCH_PCALA64_HI12        .L1
-  a0:  00109484        add.d           \$a0, \$a0, \$a1
-  a4:  14000004        lu12i.w         \$a0, 0
-                       a4: R_LARCH_MARK_LA     \*ABS\*
-                       a4: R_LARCH_ABS_HI20    .L1
-  a8:  03800084        ori             \$a0, \$a0, 0x0
-                       a8: R_LARCH_ABS_LO12    .L1
-  ac:  16000004        lu32i.d         \$a0, 0
-                       ac: R_LARCH_ABS64_LO20  .L1
-  b0:  03000084        lu52i.d         \$a0, \$a0, 0
-                       b0: R_LARCH_ABS64_HI12  .L1
-  b4:  1a000004        pcalau12i       \$a0, 0
-                       b4: R_LARCH_PCALA_HI20  .L1
-                       b4: R_LARCH_RELAX       \*ABS\*
-  b8:  02c00084        addi.d          \$a0, \$a0, 0
-                       b8: R_LARCH_PCALA_LO12  .L1
-                       b8: R_LARCH_RELAX       \*ABS\*
-  bc:  1a000004        pcalau12i       \$a0, 0
-                       bc: R_LARCH_PCALA_HI20  .L1
-                       bc: R_LARCH_RELAX       \*ABS\*
-  c0:  02c00084        addi.d          \$a0, \$a0, 0
-                       c0: R_LARCH_PCALA_LO12  .L1
-                       c0: R_LARCH_RELAX       \*ABS\*
-  c4:  1a000004        pcalau12i       \$a0, 0
-                       c4: R_LARCH_PCALA_HI20  .L1
-                       c4: R_LARCH_RELAX       \*ABS\*
-  c8:  02c00005        li.d            \$a1, 0
-                       c8: R_LARCH_PCALA_LO12  .L1
-                       c8: R_LARCH_RELAX       \*ABS\*
-  cc:  16000005        lu32i.d         \$a1, 0
-                       cc: R_LARCH_PCALA64_LO20        .L1
-  d0:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       d0: R_LARCH_PCALA64_HI12        .L1
-  d4:  00109484        add.d           \$a0, \$a0, \$a1
-  d8:  1a000004        pcalau12i       \$a0, 0
-                       d8: R_LARCH_GOT_PC_HI20 .L1
-                       d8: R_LARCH_RELAX       \*ABS\*
-  dc:  28c00084        ld.d            \$a0, \$a0, 0
-                       dc: R_LARCH_GOT_PC_LO12 .L1
-                       dc: R_LARCH_RELAX       \*ABS\*
-  e0:  1a000004        pcalau12i       \$a0, 0
-                       e0: R_LARCH_GOT_PC_HI20 .L1
-                       e0: R_LARCH_RELAX       \*ABS\*
-  e4:  02c00005        li.d            \$a1, 0
-                       e4: R_LARCH_GOT_PC_LO12 .L1
-                       e4: R_LARCH_RELAX       \*ABS\*
-  e8:  16000005        lu32i.d         \$a1, 0
-                       e8: R_LARCH_GOT64_PC_LO20       .L1
-  ec:  030000a5        lu52i.d         \$a1, \$a1, 0
-                       ec: R_LARCH_GOT64_PC_HI12       .L1
-  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        li.d            \$a1, 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
-                       118: R_LARCH_RELAX      \*ABS\*
- 11c:  02c00084        addi.d          \$a0, \$a0, 0
-                       11c: R_LARCH_GOT_PC_LO12        TLS1
-                       11c: R_LARCH_RELAX      \*ABS\*
- 120:  1a000004        pcalau12i       \$a0, 0
-                       120: R_LARCH_TLS_LD_PC_HI20     TLS1
-                       120: R_LARCH_RELAX      \*ABS\*
- 124:  02c00005        li.d            \$a1, 0
-                       124: R_LARCH_GOT_PC_LO12        TLS1
-                       124: R_LARCH_RELAX      \*ABS\*
- 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
-                       134: R_LARCH_RELAX      \*ABS\*
- 138:  02c00084        addi.d          \$a0, \$a0, 0
-                       138: R_LARCH_GOT_PC_LO12        TLS1
-                       138: R_LARCH_RELAX      \*ABS\*
- 13c:  1a000004        pcalau12i       \$a0, 0
-                       13c: R_LARCH_TLS_GD_PC_HI20     TLS1
-                       13c: R_LARCH_RELAX      \*ABS\*
- 140:  02c00005        li.d            \$a1, 0
-                       140: R_LARCH_GOT_PC_LO12        TLS1
-                       140: R_LARCH_RELAX      \*ABS\*
- 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
+[      ]*0000000000000000 <.L1>:
+[      ]+0:[   ]+00150004[     ]+move[         ]+\$a0, \$zero
+[      ]+4:[   ]+02bffc04[     ]+li.w[         ]+\$a0, -1
+[      ]+8:[   ]+00150004[     ]+move[         ]+\$a0, \$zero
+[      ]+c:[   ]+02bffc04[     ]+li.w[         ]+\$a0, -1
+[      ]+10:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+10: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+10: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+14:[  ]+28c00084[     ]+ld.d[         ]+\$a0, \$a0, 0
+[      ]+14: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+14: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+18:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+18: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+18: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+1c:[  ]+28c00084[     ]+ld.d[         ]+\$a0, \$a0, 0
+[      ]+1c: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+1c: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+20:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+20: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+24:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+24: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+28:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+28: R_LARCH_GOT64_PC_LO20[    ]+.L1
+[      ]+2c:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+2c: R_LARCH_GOT64_PC_HI12[    ]+.L1
+[      ]+30:[  ]+380c1484[     ]+ldx.d[        ]+\$a0, \$a0, \$a1
+[      ]+34:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+34: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+34: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+38:[  ]+28c00084[     ]+ld.d[         ]+\$a0, \$a0, 0
+[      ]+38: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+38: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+3c:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+3c: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+40:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+40: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+44:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+44: R_LARCH_GOT64_PC_LO20[    ]+.L1
+[      ]+48:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+48: R_LARCH_GOT64_PC_HI12[    ]+.L1
+[      ]+4c:[  ]+380c1484[     ]+ldx.d[        ]+\$a0, \$a0, \$a1
+[      ]+50:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+50: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+50: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+54:[  ]+28c00084[     ]+ld.d[         ]+\$a0, \$a0, 0
+[      ]+54: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+54: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+58:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+58: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+5c:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+5c: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+60:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+60: R_LARCH_GOT64_PC_LO20[    ]+.L1
+[      ]+64:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+64: R_LARCH_GOT64_PC_HI12[    ]+.L1
+[      ]+68:[  ]+380c1484[     ]+ldx.d[        ]+\$a0, \$a0, \$a1
+[      ]+6c:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+6c: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+6c: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+70:[  ]+02c00084[     ]+addi.d[       ]+\$a0, \$a0, 0
+[      ]+70: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+70: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+74:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+74: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+78:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+78: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+7c:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+7c: R_LARCH_PCALA64_LO20[     ]+.L1
+[      ]+80:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+80: R_LARCH_PCALA64_HI12[     ]+.L1
+[      ]+84:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+88:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+88: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+88: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+8c:[  ]+02c00084[     ]+addi.d[       ]+\$a0, \$a0, 0
+[      ]+8c: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+8c: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+90:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+90: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+94:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+94: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+98:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+98: R_LARCH_PCALA64_LO20[     ]+.L1
+[      ]+9c:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+9c: R_LARCH_PCALA64_HI12[     ]+.L1
+[      ]+a0:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+a4:[  ]+14000004[     ]+lu12i.w[      ]+\$a0, 0
+[      ]+a4: R_LARCH_MARK_LA[  ]+\*ABS\*
+[      ]+a4: R_LARCH_ABS_HI20[         ]+.L1
+[      ]+a8:[  ]+03800084[     ]+ori[  ]+\$a0, \$a0, 0x0
+[      ]+a8: R_LARCH_ABS_LO12[         ]+.L1
+[      ]+ac:[  ]+16000004[     ]+lu32i.d[      ]+\$a0, 0
+[      ]+ac: R_LARCH_ABS64_LO20[       ]+.L1
+[      ]+b0:[  ]+03000084[     ]+lu52i.d[      ]+\$a0, \$a0, 0
+[      ]+b0: R_LARCH_ABS64_HI12[       ]+.L1
+[      ]+b4:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+b4: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+b4: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+b8:[  ]+02c00084[     ]+addi.d[       ]+\$a0, \$a0, 0
+[      ]+b8: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+b8: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+bc:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+bc: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+bc: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+c0:[  ]+02c00084[     ]+addi.d[       ]+\$a0, \$a0, 0
+[      ]+c0: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+c0: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+c4:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+c4: R_LARCH_PCALA_HI20[       ]+.L1
+[      ]+c8:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+c8: R_LARCH_PCALA_LO12[       ]+.L1
+[      ]+cc:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+cc: R_LARCH_PCALA64_LO20[     ]+.L1
+[      ]+d0:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+d0: R_LARCH_PCALA64_HI12[     ]+.L1
+[      ]+d4:[  ]+00109484[     ]+add.d[        ]+\$a0, \$a0, \$a1
+[      ]+d8:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+d8: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+d8: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+dc:[  ]+28c00084[     ]+ld.d[         ]+\$a0, \$a0, 0
+[      ]+dc: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+dc: R_LARCH_RELAX[    ]+\*ABS\*
+[      ]+e0:[  ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+e0: R_LARCH_GOT_PC_HI20[      ]+.L1
+[      ]+e4:[  ]+02c00005[     ]+li.d[         ]+\$a1, 0
+[      ]+e4: R_LARCH_GOT_PC_LO12[      ]+.L1
+[      ]+e8:[  ]+16000005[     ]+lu32i.d[      ]+\$a1, 0
+[      ]+e8: R_LARCH_GOT64_PC_LO20[    ]+.L1
+[      ]+ec:[  ]+030000a5[     ]+lu52i.d[      ]+\$a1, \$a1, 0
+[      ]+ec: R_LARCH_GOT64_PC_HI12[    ]+.L1
+[      ]+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[     ]+li.d[         ]+\$a1, 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
+[      ]+118: R_LARCH_RELAX[   ]+\*ABS\*
+[      ]+11c:[         ]+02c00084[     ]+addi.d[       ]+\$a0, \$a0, 0
+[      ]+11c: R_LARCH_GOT_PC_LO12[     ]+TLS1
+[      ]+11c: R_LARCH_RELAX[   ]+\*ABS\*
+[      ]+120:[         ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+120: R_LARCH_TLS_LD_PC_HI20[  ]+TLS1
+[      ]+124:[         ]+02c00005[     ]+li.d[         ]+\$a1, 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
+[      ]+134: R_LARCH_RELAX[   ]+\*ABS\*
+[      ]+138:[         ]+02c00084[     ]+addi.d[       ]+\$a0, \$a0, 0
+[      ]+138: R_LARCH_GOT_PC_LO12[     ]+TLS1
+[      ]+138: R_LARCH_RELAX[   ]+\*ABS\*
+[      ]+13c:[         ]+1a000004[     ]+pcalau12i[    ]+\$a0, 0
+[      ]+13c: R_LARCH_TLS_GD_PC_HI20[  ]+TLS1
+[      ]+140:[         ]+02c00005[     ]+li.d[         ]+\$a1, 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