summaryrefslogtreecommitdiff
path: root/elf/elf.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-10-27 09:44:35 +0000
committerUlrich Drepper <drepper@redhat.com>1998-10-27 09:44:35 +0000
commitc1a61edb7f4f98f0e501a5cd34fbb0bc4f3646ee (patch)
tree856e30f0290f0ca8e3b8d866e42980128a540cca /elf/elf.h
parentcc3688877a3d7cae186dbb29a43221fc0b6a7f33 (diff)
Update.
1998-10-27 Philip Blundell <pb@nexus.co.uk> * elf/elf.h: Update ARM definitions.
Diffstat (limited to 'elf/elf.h')
-rw-r--r--elf/elf.h73
1 files changed, 50 insertions, 23 deletions
diff --git a/elf/elf.h b/elf/elf.h
index 7a53c77423..89f8312238 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1476,31 +1476,58 @@ typedef Elf32_Addr Elf32_Conflict;
/* ARM specific declarations */
-/* ARM relocs. */
+/* Processor specific flags for the ELF header e_flags field. */
+#define EF_ARM_RELEXEC 0x01
+#define EF_ARM_HASENTRY 0x02
+#define EF_ARM_INTERWORK 0x04
+#define EF_ARM_APCS_26 0x08
+#define EF_ARM_APCS_FLOAT 0x10
+#define EF_ARM_PIC 0x20
+
+/* Additional symbol types for Thumb */
+#define STT_ARM_TFUNC 0xd
+
+/* ARM-specific values for sh_flags */
+#define SHF_ARM_ENTRYSECT 0x10000000 /* Section contains an entry point */
+#define SHF_ARM_COMDEF 0x80000000 /* Section may be multiply defined
+ in the input to a link step */
+
+/* ARM-specific program header flags */
+#define PF_ARM_SB 0x10000000 /* Segment contains the location
+ addressed by the static base */
-#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_ABS8 4
-#define R_ARM_ABS16 5
-#define R_ARM_ABS12 6
-#define R_ARM_THM_ABS5 7
-#define R_ARM_THM_PC22 8
-#define R_ARM_SBREL32 9
-#define R_ARM_AMP_VCALL9 10
-#define R_ARM_THM_PC11 11
-#define R_ARM_THM_PC9 12
-#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 */
+/* ARM relocs. */
+#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_ABS8 4 /* Direct 8 bit */
+#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_THM_PC22 8
+#define R_ARM_SBREL32 9
+#define R_ARM_AMP_VCALL9 10
+#define R_ARM_THM_PC11 11 /* Thumb unconditional branch */
+#define R_ARM_THM_PC9 12 /* Thumb conditional branch */
+#define R_ARM_GNU_VTINHERIT 13
+#define R_ARM_GNU_VTENTRY 14
+#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_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 28
+#define R_ARM_NUM 256
__END_DECLS