summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-04-27 20:21:49 +0000
committerEric Andersen <andersen@codepoet.org>2001-04-27 20:21:49 +0000
commite0c9e36dad5429102400adac5e8e11303ab3e8f8 (patch)
tree910bff9f6dc87c1f8d4c029fecb4e673b3d343ae
parent8ec782e5917cb8f745fbbe16f37193877558ad77 (diff)
Add in missing ARM support. I really need to port this whole thing
to use a modern version of elf.h from glibc. -Erik
-rw-r--r--ldso/ldso/linuxelf.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/ldso/ldso/linuxelf.h b/ldso/ldso/linuxelf.h
index cc016f6b7..e90a8c3a4 100644
--- a/ldso/ldso/linuxelf.h
+++ b/ldso/ldso/linuxelf.h
@@ -53,6 +53,50 @@
#define R_68K_NUM 23
#endif
+
+/* ARM relocs. */
+#ifndef R_ARM_NONE
+#define R_ARM_NONE 0 /* No reloc */
+#define R_ARM_PC24 1 /* PC relative 26 bit branch */
+#define R_ARM_ABS32 2 /* Direct 32 bit */
+#define R_ARM_REL32 3 /* PC relative 32 bit */
+#define R_ARM_PC13 4
+#define R_ARM_ABS16 5 /* Direct 16 bit */
+#define R_ARM_ABS12 6 /* Direct 12 bit */
+#define R_ARM_THM_ABS5 7
+#define R_ARM_ABS8 8 /* Direct 8 bit */
+#define R_ARM_SBREL32 9
+#define R_ARM_THM_PC22 10
+#define R_ARM_THM_PC8 11
+#define R_ARM_AMP_VCALL9 12
+#define R_ARM_SWI24 13
+#define R_ARM_THM_SWI8 14
+#define R_ARM_XPC25 15
+#define R_ARM_THM_XPC22 16
+#define R_ARM_COPY 20 /* Copy symbol at runtime */
+#define R_ARM_GLOB_DAT 21 /* Create GOT entry */
+#define R_ARM_JUMP_SLOT 22 /* Create PLT entry */
+#define R_ARM_RELATIVE 23 /* Adjust by program base */
+#define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */
+#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
+#define R_ARM_GOT32 26 /* 32 bit GOT entry */
+#define R_ARM_PLT32 27 /* 32 bit PLT address */
+#define R_ARM_GNU_VTENTRY 100
+#define R_ARM_GNU_VTINHERIT 101
+#define R_ARM_THM_PC11 102 /* thumb unconditional branch */
+#define R_ARM_THM_PC9 103 /* thumb conditional branch */
+#define R_ARM_RXPC25 249
+#define R_ARM_RSBREL32 250
+#define R_ARM_THM_RPC22 251
+#define R_ARM_RREL32 252
+#define R_ARM_RABS22 253
+#define R_ARM_RPC24 254
+#define R_ARM_RBASE 255
+/* Keep this the last entry. */
+#define R_ARM_NUM 256
+#endif
+
+
/*
* These constants define the elements of the auxiliary vector used to
* pass additional information from the kernel to an ELF application.