]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
LoongArch: Add relaxation for R_LARCH_CALL36
authormengqinggang <mengqinggang@loongson.cn>
Wed, 28 Feb 2024 09:42:36 +0000 (17:42 +0800)
committerliuzhensong <liuzhensong@loongson.cn>
Tue, 19 Mar 2024 06:14:47 +0000 (14:14 +0800)
commit97ce7870440d6b00181c2162ff5e56bb39b2e475
treed62f13b8a4669786eb2915077adb523fc31ea4ab
parentb42aa684f6ff2bce9b8bc58aa89574723f17f1ce
LoongArch: Add relaxation for R_LARCH_CALL36

This relaxation is effective for both macro instructions (call36, tail36)
and explicit relocation instructions (pcaddu18i + jirl).

call36 f   -> bl f
  R_LARCH_CALL36  ->   R_LARCH_B26

tail36 $t0, f   -> b f
  R_LARCH_CALL36  ->   R_LARCH_B26
bfd/elfnn-loongarch.c
gas/config/tc-loongarch.c
gas/testsuite/gas/loongarch/medium-call.d
gas/testsuite/gas/loongarch/relax-cfi-fde-DW_CFA_advance_loc.d
gas/testsuite/gas/loongarch/relax-cfi-fde-DW_CFA_advance_loc.s
gas/testsuite/gas/loongarch/relocs_64.d
ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp
ld/testsuite/ld-loongarch-elf/relax-medium-call-1.d [new file with mode: 0644]
ld/testsuite/ld-loongarch-elf/relax-medium-call-1.s [new file with mode: 0644]
ld/testsuite/ld-loongarch-elf/relax-medium-call.d [new file with mode: 0644]
ld/testsuite/ld-loongarch-elf/relax-medium-call.s [new file with mode: 0644]