summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYouling Tang <tangyouling@loongson.cn>2023-04-01 14:43:44 +0800
committerMark Wielaard <mark@klomp.org>2023-04-07 00:35:47 +0200
commit32d7e326c7a4264b72354de26377a21f0c7187eb (patch)
tree26f983f9caae346c8f627d4ae0bac05901656fec
parent708179f05e773723cee22596bc57776df585ed74 (diff)
downloadelfutils-32d7e326c7a4264b72354de26377a21f0c7187eb.tar.gz
backends: Add new relocation type handling for LoongArch
Add new relocation type handling. Signed-off-by: Youling Tang <tangyouling@loongson.cn>
-rw-r--r--backends/ChangeLog4
-rw-r--r--backends/loongarch_reloc.def40
2 files changed, 44 insertions, 0 deletions
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 81f08314..9eee3036 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,7 @@
+2023-04-01 Youling Tang <tangyouling@loongson.cn>
+
+ * loongarch_reloc.def: Add RELOC_TYPE B16 to RELAX.
+
2023-02-07 Mark Wielaard <mark@klomp.org>
* libebl_CPU.h (dwarf_peeled_die_type): Explicitly handle
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)