Add new relocation type handling.

Signed-off-by: Youling Tang <tangyoul...@loongson.cn>
---
 backends/ChangeLog           |  4 ++++
 backends/loongarch_reloc.def | 40 ++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/backends/ChangeLog b/backends/ChangeLog
index 41071953..cff82b01 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,7 @@
+2023-04-01  Youling Tang  <tangyoul...@loongson.cn>
+
+       * loongarch_reloc.def: Add RELOC_TYPE B16 to RELAX.
+
 2023-04-01  Youling Tang <tangyoul...@loongson.cn>
        * loongarch_init.c (loongarch_init): Hook check_special_symbol.
        * loongarch_symbol.c (loongarch_check_special_symbol): New function.
diff --git a/backends/loongarch_reloc.def b/backends/loongarch_reloc.def
index dd4a6b6d..fd204924 100644
--- a/backends/loongarch_reloc.def
+++ b/backends/loongarch_reloc.def
@@ -79,3 +79,43 @@ RELOC_TYPE (SUB32,                   REL)
 RELOC_TYPE (SUB64,                     REL)
 RELOC_TYPE (GNU_VTINHERIT,             REL)
 RELOC_TYPE (GNU_VTENTRY,               REL)
+
+/* reserved 59-63 */
+
+RELOC_TYPE (B16,                       REL)
+RELOC_TYPE (B21,                       REL)
+RELOC_TYPE (B26,                       REL)
+RELOC_TYPE (ABS_HI20,                  REL)
+RELOC_TYPE (ABS_LO12,                  REL)
+RELOC_TYPE (ABS64_LO20,                        REL)
+RELOC_TYPE (ABS64_HI12,                        REL)
+RELOC_TYPE (PCALA_HI20,                        REL)
+RELOC_TYPE (PCALA_LO12,                        REL)
+RELOC_TYPE (PCALA64_LO20,              REL)
+RELOC_TYPE (PCALA64_HI12,              REL)
+RELOC_TYPE (GOT_PC_HI20,               REL)
+RELOC_TYPE (GOT_PC_LO12,               REL)
+RELOC_TYPE (GOT64_PC_LO20,             REL)
+RELOC_TYPE (GOT64_PC_HI12,             REL)
+RELOC_TYPE (GOT_HI20,                  REL)
+RELOC_TYPE (GOT_LO12,                  REL)
+RELOC_TYPE (GOT64_LO20,                        REL)
+RELOC_TYPE (GOT64_HI12,                        REL)
+RELOC_TYPE (TLS_LE_HI20,               REL)
+RELOC_TYPE (TLS_LE_LO12,               REL)
+RELOC_TYPE (TLS_LE64_LO20,             REL)
+RELOC_TYPE (TLS_LE64_HI12,             REL)
+RELOC_TYPE (TLS_IE_PC_HI20,            REL)
+RELOC_TYPE (TLS_IE_PC_LO12,            REL)
+RELOC_TYPE (TLS_IE64_PC_LO20,          REL)
+RELOC_TYPE (TLS_IE64_PC_HI12,          REL)
+RELOC_TYPE (TLS_IE_HI20,               REL)
+RELOC_TYPE (TLS_IE_LO12,               REL)
+RELOC_TYPE (TLS_IE64_LO20,             REL)
+RELOC_TYPE (TLS_IE64_HI12,             REL)
+RELOC_TYPE (TLS_LD_PC_HI20,            REL)
+RELOC_TYPE (TLS_LD_HI20,               REL)
+RELOC_TYPE (TLS_GD_PC_HI20,            REL)
+RELOC_TYPE (TLS_GD_HI20,               REL)
+RELOC_TYPE (32_PCREL,                  REL)
+RELOC_TYPE (RELAX,                     REL)
-- 
2.37.1

Reply via email to