public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] LoongArch: include: Add support for linker relaxation.
@ 2023-05-30 12:03 liu & zhensong
  0 siblings, 0 replies; only message in thread
From: liu & zhensong @ 2023-05-30 12:03 UTC (permalink / raw)
  To: bfd-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=57a930e3bfe4b2c7fd6463ed39311e1938513138

commit 57a930e3bfe4b2c7fd6463ed39311e1938513138
Author: mengqinggang <mengqinggang@loongson.cn>
Date:   Thu Dec 1 14:34:10 2022 +0800

    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.

Diff:
---
 include/elf/loongarch.h    | 20 ++++++++++++++++++++
 include/opcode/loongarch.h |  3 +++
 2 files changed, 23 insertions(+)

diff --git a/include/elf/loongarch.h b/include/elf/loongarch.h
index ba0075d1066..71ab34f2cef 100644
--- a/include/elf/loongarch.h
+++ b/include/elf/loongarch.h
@@ -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.  */
diff --git a/include/opcode/loongarch.h b/include/opcode/loongarch.h
index 548732e5c70..004bb6561ef 100644
--- a/include/opcode/loongarch.h
+++ b/include/opcode/loongarch.h
@@ -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);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-05-30 12:03 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-30 12:03 [binutils-gdb] LoongArch: include: Add support for linker relaxation liu & zhensong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).