[PATCH v5 3/6] LoongArch: opcodes: Add support for linker relaxation.
mengqinggang
mengqinggang@loongson.cn
Fri May 26 07:38:30 GMT 2023
Set gas default to enable relax.
opcodes/ChangeLog:
* loongarch-opc.c (struct loongarch_ASEs_option): New member relax
with the default value 1.
---
bfd/elfnn-loongarch.c | 6 +++---
opcodes/loongarch-opc.c | 5 ++++-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c
index d501991e4cf..b16066c5d91 100644
--- a/bfd/elfnn-loongarch.c
+++ b/bfd/elfnn-loongarch.c
@@ -3698,7 +3698,7 @@ loongarch_relax_delete_bytes (bfd *abfd,
/* Relax pcalau12i,addi.d => pcaddi. */
static bool
-loongarch_relax_pcala_addi(bfd *abfd, asection *sec,
+loongarch_relax_pcala_addi (bfd *abfd, asection *sec,
Elf_Internal_Rela *rel_hi, bfd_vma symval)
{
bfd_byte *contents = elf_section_data (sec)->this_hdr.contents;
@@ -3967,7 +3967,7 @@ loongarch_elf_relax_section (bfd *abfd, asection *sec,
{
if (i + 4 > sec->reloc_count)
break;
- loongarch_relax_pcala_addi(abfd, sec, rel, symval);
+ loongarch_relax_pcala_addi (abfd, sec, rel, symval);
}
break;
case R_LARCH_GOT_PC_HI20:
@@ -3977,7 +3977,7 @@ loongarch_elf_relax_section (bfd *abfd, asection *sec,
break;
if (loongarch_relax_pcala_ld (abfd, sec, rel))
{
- loongarch_relax_pcala_addi(abfd, sec, rel, symval);
+ loongarch_relax_pcala_addi (abfd, sec, rel, symval);
}
}
break;
diff --git a/opcodes/loongarch-opc.c b/opcodes/loongarch-opc.c
index 39d724a3398..573b691c1fd 100644
--- a/opcodes/loongarch-opc.c
+++ b/opcodes/loongarch-opc.c
@@ -22,7 +22,10 @@
#include "opcode/loongarch.h"
#include "libiberty.h"
-struct loongarch_ASEs_option LARCH_opts;
+struct loongarch_ASEs_option LARCH_opts =
+{
+ .relax = 1
+};
size_t
loongarch_insn_length (insn_t insn ATTRIBUTE_UNUSED)
--
2.36.0
More information about the Binutils
mailing list