LoongArch: include: Add support for linker relaxation.
Add relocs and gas LARCH_opts.relax option. include/ChangeLog: * elf/loongarch.h: Add relocs. * opcode/loongarch.h: Add LARCH_opts.relax and macro LARCH_NOP.
This commit is contained in:
parent
7b9e7db083
commit
57a930e3bf
@ -229,6 +229,26 @@ RELOC_NUMBER (R_LARCH_32_PCREL, 99)
|
||||
/* RELAX. */
|
||||
RELOC_NUMBER (R_LARCH_RELAX, 100)
|
||||
|
||||
/* relax delete. */
|
||||
RELOC_NUMBER (R_LARCH_DELETE, 101)
|
||||
|
||||
/* relax align. */
|
||||
RELOC_NUMBER (R_LARCH_ALIGN, 102)
|
||||
|
||||
/* pcaddi. */
|
||||
RELOC_NUMBER (R_LARCH_PCREL20_S2, 103)
|
||||
|
||||
/* cfa. */
|
||||
RELOC_NUMBER (R_LARCH_CFA, 104)
|
||||
|
||||
/* DW_CFA_advance_loc. */
|
||||
RELOC_NUMBER (R_LARCH_ADD6, 105)
|
||||
RELOC_NUMBER (R_LARCH_SUB6, 106)
|
||||
|
||||
/* unsigned leb128. */
|
||||
RELOC_NUMBER (R_LARCH_ADD_ULEB128, 107)
|
||||
RELOC_NUMBER (R_LARCH_SUB_ULEB128, 108)
|
||||
|
||||
END_RELOC_NUMBERS (R_LARCH_count)
|
||||
|
||||
/* Processor specific flags for the ELF header e_flags field. */
|
||||
|
@ -28,6 +28,8 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#define LARCH_NOP 0x03400000
|
||||
|
||||
typedef uint32_t insn_t;
|
||||
|
||||
struct loongarch_opcode
|
||||
@ -228,6 +230,7 @@ dec2 : [1-9][0-9]?
|
||||
#define ase_gpcr isa.use_la_global_with_pcrel
|
||||
#define ase_gabs isa.use_la_global_with_abs
|
||||
|
||||
int relax;
|
||||
} LARCH_opts;
|
||||
|
||||
extern size_t loongarch_insn_length (insn_t insn);
|
||||
|
Loading…
x
Reference in New Issue
Block a user