Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
Portions Copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
Portion Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>\r
+Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
\r
#define EM_AARCH64 183 /* ARM 64bit Architecture */\r
#define EM_RISCV64 243 /* 64bit RISC-V Architecture */\r
#define EM_RISCV 244 /* 32bit RISC-V Architecture */\r
+#define EM_LOONGARCH 258 /* LoongArch Architecture */\r
\r
/* Non-standard or deprecated. */\r
#define EM_486 6 /* Intel i486. */\r
#define R_RISCV_SET8 54\r
#define R_RISCV_SET16 55\r
#define R_RISCV_SET32 56\r
+\r
+/*\r
+ * LoongArch relocation types\r
+ */\r
+#define R_LARCH_NONE 0\r
+#define R_LARCH_32 1\r
+#define R_LARCH_64 2\r
+#define R_LARCH_RELATIVE 3\r
+#define R_LARCH_COPY 4\r
+#define R_LARCH_JUMP_SLOT 5\r
+#define R_LARCH_TLS_DTPMOD32 6\r
+#define R_LARCH_TLS_DTPMOD64 7\r
+#define R_LARCH_TLS_DTPREL32 8\r
+#define R_LARCH_TLS_DTPREL64 9\r
+#define R_LARCH_TLS_TPREL32 10\r
+#define R_LARCH_TLS_TPREL64 11\r
+#define R_LARCH_IRELATIVE 12\r
+#define R_LARCH_MARK_LA 20\r
+#define R_LARCH_MARK_PCREL 21\r
+#define R_LARCH_SOP_PUSH_PCREL 22\r
+#define R_LARCH_SOP_PUSH_ABSOLUTE 23\r
+#define R_LARCH_SOP_PUSH_DUP 24\r
+#define R_LARCH_SOP_PUSH_GPREL 25\r
+#define R_LARCH_SOP_PUSH_TLS_TPREL 26\r
+#define R_LARCH_SOP_PUSH_TLS_GOT 27\r
+#define R_LARCH_SOP_PUSH_TLS_GD 28\r
+#define R_LARCH_SOP_PUSH_PLT_PCREL 29\r
+#define R_LARCH_SOP_ASSERT 30\r
+#define R_LARCH_SOP_NOT 31\r
+#define R_LARCH_SOP_SUB 32\r
+#define R_LARCH_SOP_SL 33\r
+#define R_LARCH_SOP_SR 34\r
+#define R_LARCH_SOP_ADD 35\r
+#define R_LARCH_SOP_AND 36\r
+#define R_LARCH_SOP_IF_ELSE 37\r
+#define R_LARCH_SOP_POP_32_S_10_5 38\r
+#define R_LARCH_SOP_POP_32_U_10_12 39\r
+#define R_LARCH_SOP_POP_32_S_10_12 40\r
+#define R_LARCH_SOP_POP_32_S_10_16 41\r
+#define R_LARCH_SOP_POP_32_S_10_16_S2 42\r
+#define R_LARCH_SOP_POP_32_S_5_20 43\r
+#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44\r
+#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45\r
+#define R_LARCH_SOP_POP_32_U 46\r
+#define R_LARCH_ADD8 47\r
+#define R_LARCH_ADD16 48\r
+#define R_LARCH_ADD24 49\r
+#define R_LARCH_ADD32 50\r
+#define R_LARCH_ADD64 51\r
+#define R_LARCH_SUB8 52\r
+#define R_LARCH_SUB16 53\r
+#define R_LARCH_SUB24 54\r
+#define R_LARCH_SUB32 55\r
+#define R_LARCH_SUB64 56\r
+#define R_LARCH_GNU_VTINHERIT 57\r
+#define R_LARCH_GNU_VTENTRY 58\r
+#define R_LARCH_B16 64\r
+#define R_LARCH_B21 65\r
+#define R_LARCH_B26 66\r
+#define R_LARCH_ABS_HI20 67\r
+#define R_LARCH_ABS_LO12 68\r
+#define R_LARCH_ABS64_LO20 69\r
+#define R_LARCH_ABS64_HI12 70\r
+#define R_LARCH_PCALA_HI20 71\r
+#define R_LARCH_PCALA_LO12 72\r
+#define R_LARCH_PCALA64_LO20 73\r
+#define R_LARCH_PCALA64_HI12 74\r
+#define R_LARCH_GOT_PC_HI20 75\r
+#define R_LARCH_GOT_PC_LO12 76\r
+#define R_LARCH_GOT64_PC_LO20 77\r
+#define R_LARCH_GOT64_PC_HI12 78\r
+#define R_LARCH_GOT64_HI20 79\r
+#define R_LARCH_GOT64_LO12 80\r
+#define R_LARCH_GOT64_LO20 81\r
+#define R_LARCH_GOT64_HI12 82\r
+#define R_LARCH_TLS_LE_HI20 83\r
+#define R_LARCH_TLS_LE_LO12 84\r
+#define R_LARCH_TLS_LE64_LO20 85\r
+#define R_LARCH_TLS_LE64_HI12 86\r
+#define R_LARCH_TLS_IE_PC_HI20 87\r
+#define R_LARCH_TLS_IE_PC_LO12 88\r
+#define R_LARCH_TLS_IE64_PC_LO20 89\r
+#define R_LARCH_TLS_IE64_PC_HI12 90\r
+#define R_LARCH_TLS_IE64_HI20 91\r
+#define R_LARCH_TLS_IE64_LO12 92\r
+#define R_LARCH_TLS_IE64_LO20 93\r
+#define R_LARCH_TLS_IE64_HI12 94\r
+#define R_LARCH_TLS_LD_PC_HI20 95\r
+#define R_LARCH_TLS_LD64_HI20 96\r
+#define R_LARCH_TLS_GD_PC_HI20 97\r
+#define R_LARCH_TLS_GD64_HI20 98\r
+#define R_LARCH_RELAX 99\r
#endif /* !_SYS_ELF_COMMON_H_ */\r