aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2008-08-02 01:20:10 +0000
committerWarner Losh <imp@FreeBSD.org>2008-08-02 01:20:10 +0000
commit2f6a79342a5dcddd7aaddbfd3187257f868e0514 (patch)
tree3e295eea3d6f53c98c55ae559a8e830d8e5c188a
parentcd44e09c662b5a508d711c026c4bd29330cb37bd (diff)
downloadsrc-2f6a79342a5dcddd7aaddbfd3187257f868e0514.tar.gz
src-2f6a79342a5dcddd7aaddbfd3187257f868e0514.zip
Add ELF relocation types for mips.
Obtained from: mips/include/elf.h
Notes
Notes: svn path=/head/; revision=181147
-rw-r--r--sys/sys/elf_common.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h
index ef2ab0fd21da..95f3352c5f5f 100644
--- a/sys/sys/elf_common.h
+++ b/sys/sys/elf_common.h
@@ -648,6 +648,24 @@ typedef struct {
#define R_IA_64_DTPREL64LSB 0xb7 /* word64 LSB @dtprel(S + A) */
#define R_IA_64_LTOFF_DTPREL22 0xba /* imm22 @ltoff(@dtprel(S+A)) */
+#define R_MIPS_NONE 0 /* No reloc */
+#define R_MIPS_16 1 /* Direct 16 bit */
+#define R_MIPS_32 2 /* Direct 32 bit */
+#define R_MIPS_REL32 3 /* PC relative 32 bit */
+#define R_MIPS_26 4 /* Direct 26 bit shifted */
+#define R_MIPS_HI16 5 /* High 16 bit */
+#define R_MIPS_LO16 6 /* Low 16 bit */
+#define R_MIPS_GPREL16 7 /* GP relative 16 bit */
+#define R_MIPS_LITERAL 8 /* 16 bit literal entry */
+#define R_MIPS_GOT16 9 /* 16 bit GOT entry */
+#define R_MIPS_PC16 10 /* PC relative 16 bit */
+#define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */
+#define R_MIPS_GPREL32 12 /* GP relative 32 bit */
+#define R_MIPS_GOTHI16 21 /* GOT HI 16 bit */
+#define R_MIPS_GOTLO16 22 /* GOT LO 16 bit */
+#define R_MIPS_CALLHI16 30 /* upper 16 bit GOT entry for function */
+#define R_MIPS_CALLLO16 31 /* lower 16 bit GOT entry for function */
+
#define R_PPC_NONE 0 /* No relocation. */
#define R_PPC_ADDR32 1
#define R_PPC_ADDR24 2