[PATCH v0 0/4] Emit fewer relocations for linker relaxation
mengqinggang
mengqinggang@loongson.cn
Tue Jul 7 17:47:15 GMT 2026
mengqinggang (4):
LoongArch: Fix the size of tls desc relocations
LoongArch: Do not emit relocation if addsy and subsy are in the same
frag
LoongArch: Emit fewer relocations for label subtraction
LoongArch: Emit alignment relocations after relaxed instructions
bfd/elfxx-loongarch.c | 8 +-
gas/config/tc-loongarch.c | 230 ++++++++++----
gas/config/tc-loongarch.h | 11 +
gas/testsuite/gas/all/gas.exp | 2 +-
gas/testsuite/gas/all/relax.d | 4 -
gas/testsuite/gas/elf/ehopt0.d | 3 -
gas/testsuite/gas/loongarch/insn_int32.d | 279 ++++++++---------
gas/testsuite/gas/loongarch/insn_int64.d | 29 +-
gas/testsuite/gas/loongarch/jmp_op.d | 94 +++---
gas/testsuite/gas/loongarch/jmp_op.s | 2 +-
.../gas/loongarch/la_branch_relax_1.d | 118 ++++---
.../gas/loongarch/la_branch_relax_1.s | 2 +
.../gas/loongarch/la_branch_relax_2.d | 64 ++--
.../gas/loongarch/la_branch_relax_2.s | 23 +-
.../gas/loongarch/negative_right_shift.d | 67 ++--
.../gas/loongarch/negative_right_shift.s | 9 +-
gas/testsuite/gas/loongarch/no_thin_add_sub.d | 30 +-
gas/testsuite/gas/loongarch/no_thin_add_sub.s | 1 +
gas/testsuite/gas/loongarch/relax-align.d | 46 +++
.../{relax_align.l => relax-align.l} | 0
.../{relax_align.s => relax-align.s} | 6 +-
gas/testsuite/gas/loongarch/relax-align1.d | 8 +
gas/testsuite/gas/loongarch/relax-align1.s | 16 +
gas/testsuite/gas/loongarch/relax-align2.d | 27 +-
gas/testsuite/gas/loongarch/relax-align2.s | 4 +
gas/testsuite/gas/loongarch/relax-uleb128.d | 9 +
gas/testsuite/gas/loongarch/relax-uleb128.s | 18 ++
gas/testsuite/gas/loongarch/relax_align.d | 52 ----
.../gas/loongarch/relax_debug_line.d | 9 +-
gas/testsuite/gas/loongarch/relocs_32.d | 175 +++++------
gas/testsuite/gas/loongarch/relocs_32.s | 11 +-
gas/testsuite/gas/loongarch/relocs_64.d | 291 +++++++++---------
gas/testsuite/gas/loongarch/relocs_64.s | 3 +
.../gas/loongarch/thin_add_sub_relax.d | 20 +-
.../gas/loongarch/thin_add_sub_relax.s | 2 +
gas/testsuite/gas/loongarch/uleb128.d | 36 ---
gas/testsuite/gas/loongarch/uleb128.s | 20 --
ld/testsuite/ld-elf/compressed1d.d | 3 -
ld/testsuite/ld-loongarch-elf/jmp_op.d | 50 ---
ld/testsuite/ld-loongarch-elf/jmp_op.s | 23 --
.../ld-loongarch-elf/ld-loongarch-elf.exp | 2 -
ld/testsuite/ld-undefined/undefined.exp | 2 -
42 files changed, 899 insertions(+), 910 deletions(-)
create mode 100644 gas/testsuite/gas/loongarch/relax-align.d
rename gas/testsuite/gas/loongarch/{relax_align.l => relax-align.l} (100%)
rename gas/testsuite/gas/loongarch/{relax_align.s => relax-align.s} (79%)
create mode 100644 gas/testsuite/gas/loongarch/relax-align1.d
create mode 100644 gas/testsuite/gas/loongarch/relax-align1.s
create mode 100644 gas/testsuite/gas/loongarch/relax-uleb128.d
create mode 100644 gas/testsuite/gas/loongarch/relax-uleb128.s
delete mode 100644 gas/testsuite/gas/loongarch/relax_align.d
delete mode 100644 gas/testsuite/gas/loongarch/uleb128.d
delete mode 100644 gas/testsuite/gas/loongarch/uleb128.s
delete mode 100644 ld/testsuite/ld-loongarch-elf/jmp_op.d
delete mode 100644 ld/testsuite/ld-loongarch-elf/jmp_op.s
--
2.34.1
More information about the Binutils
mailing list