forked from Imagelibrary/binutils-gdb
LoongArch: opcodes: Add support for linker relaxation.
Set gas default to enable relax. opcodes/ChangeLog: * loongarch-opc.c (struct loongarch_ASEs_option): New member relax with the default value 1.
This commit is contained in:
committed by
liuzhensong
parent
1b6fccd28d
commit
7ad9de1188
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user