summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRyan Flux <ryan.flux@emsolutions.com.au>2011-10-04 10:50:49 +1000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2011-10-06 22:22:25 +0200
commit331b43717229eaad2a95bf420f5100079bd53683 (patch)
tree784606042014321101c611ef4650b1b6aacff76a /include
parentcc5499a6a678e4caf1b06f33192de84d5ab88fd5 (diff)
microblaze mmu/elf/shared lib support
microblaze can either be with mmu or without If with, use elf rather than flat, and support shared libs Signed-off-by: Ryan Flux <ryan.flux@emsolutions.com.au> Signed-off-by: Steve Bennett <steveb@workware.net.au> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'include')
-rw-r--r--include/elf.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/elf.h b/include/elf.h
index d71691eb3..ba3e80461 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -368,6 +368,14 @@ typedef struct
/* V850 backend magic number. Written in the absense of an ABI. */
#define EM_CYGNUS_V850 0x9080
+/* Xilinx Microblaze (unofficial). Note that there is now an official microblaze
+ * magic number, but all the toolchains currently in existence use the old number
+ */
+#define EM_MICROBLAZE_OLD 0xbaab
+
+/* Xilinx Microblaze (official) */
+#define EM_MICROBLAZE 189
+
/* Legal values for e_version (version). */
#define EV_NONE 0 /* Invalid ELF version */
@@ -3108,6 +3116,31 @@ typedef Elf32_Addr Elf32_Conflict;
#define DT_C6000_NUM 4
+/* microblaze specific relocs */
+#define R_MICROBLAZE_NONE 0
+#define R_MICROBLAZE_32 1
+#define R_MICROBLAZE_32_PCREL 2
+#define R_MICROBLAZE_64_PCREL 3
+#define R_MICROBLAZE_32_PCREL_LO 4
+#define R_MICROBLAZE_64 5
+#define R_MICROBLAZE_32_LO 6
+#define R_MICROBLAZE_SRO32 7
+#define R_MICROBLAZE_SRW32 8
+#define R_MICROBLAZE_64_NONE 9
+#define R_MICROBLAZE_32_SYM_OP_SYM 10
+#define R_MICROBLAZE_GNU_VTINHERIT 11
+#define R_MICROBLAZE_GNU_VTENTRY 12
+#define R_MICROBLAZE_GOTPC_64 13 /* PC-relative GOT offset */
+#define R_MICROBLAZE_GOT_64 14 /* GOT entry offset */
+#define R_MICROBLAZE_PLT_64 15 /* PLT offset (PC-relative */
+#define R_MICROBLAZE_REL 16 /* adjust by program base */
+#define R_MICROBLAZE_JUMP_SLOT 17 /* create PLT entry */
+#define R_MICROBLAZE_GLOB_DAT 18 /* create GOT entry */
+#define R_MICROBLAZE_GOTOFF_64 19 /* offset relative to GOT */
+#define R_MICROBLAZE_GOTOFF_32 20 /* offset relative to GOT */
+#define R_MICROBLAZE_COPY 21 /* runtime copy */
+#define R_MICROBLAZE_NUM 22
+
#ifdef __cplusplus
}
#endif