|
@@ -8,6 +8,27 @@
|
|
#include <asm/arch/elf.h>
|
|
#include <asm/arch/elf.h>
|
|
#include <asm/user.h>
|
|
#include <asm/user.h>
|
|
|
|
|
|
|
|
+#define R_CRIS_NONE 0
|
|
|
|
+#define R_CRIS_8 1
|
|
|
|
+#define R_CRIS_16 2
|
|
|
|
+#define R_CRIS_32 3
|
|
|
|
+#define R_CRIS_8_PCREL 4
|
|
|
|
+#define R_CRIS_16_PCREL 5
|
|
|
|
+#define R_CRIS_32_PCREL 6
|
|
|
|
+#define R_CRIS_GNU_VTINHERIT 7
|
|
|
|
+#define R_CRIS_GNU_VTENTRY 8
|
|
|
|
+#define R_CRIS_COPY 9
|
|
|
|
+#define R_CRIS_GLOB_DAT 10
|
|
|
|
+#define R_CRIS_JUMP_SLOT 11
|
|
|
|
+#define R_CRIS_RELATIVE 12
|
|
|
|
+#define R_CRIS_16_GOT 13
|
|
|
|
+#define R_CRIS_32_GOT 14
|
|
|
|
+#define R_CRIS_16_GOTPLT 15
|
|
|
|
+#define R_CRIS_32_GOTPLT 16
|
|
|
|
+#define R_CRIS_32_GOTREL 17
|
|
|
|
+#define R_CRIS_32_PLT_GOTREL 18
|
|
|
|
+#define R_CRIS_32_PLT_PCREL 19
|
|
|
|
+
|
|
typedef unsigned long elf_greg_t;
|
|
typedef unsigned long elf_greg_t;
|
|
|
|
|
|
/* Note that NGREG is defined to ELF_NGREG in include/linux/elfcore.h, and is
|
|
/* Note that NGREG is defined to ELF_NGREG in include/linux/elfcore.h, and is
|
|
@@ -18,18 +39,30 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
|
/* A placeholder; CRIS does not have any fp regs. */
|
|
/* A placeholder; CRIS does not have any fp regs. */
|
|
typedef unsigned long elf_fpregset_t;
|
|
typedef unsigned long elf_fpregset_t;
|
|
|
|
|
|
-/*
|
|
|
|
- * This is used to ensure we don't load something for the wrong architecture.
|
|
|
|
- */
|
|
|
|
-#define elf_check_arch(x) ( (x)->e_machine == EM_CRIS )
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* These are used to set parameters in the core dumps.
|
|
* These are used to set parameters in the core dumps.
|
|
*/
|
|
*/
|
|
#define ELF_CLASS ELFCLASS32
|
|
#define ELF_CLASS ELFCLASS32
|
|
-#define ELF_DATA ELFDATA2LSB;
|
|
|
|
|
|
+#define ELF_DATA ELFDATA2LSB
|
|
#define ELF_ARCH EM_CRIS
|
|
#define ELF_ARCH EM_CRIS
|
|
|
|
|
|
|
|
+/* The master for these definitions is {binutils}/include/elf/cris.h: */
|
|
|
|
+/* User symbols in this file have a leading underscore. */
|
|
|
|
+#define EF_CRIS_UNDERSCORE 0x00000001
|
|
|
|
+
|
|
|
|
+/* This is a mask for different incompatible machine variants. */
|
|
|
|
+#define EF_CRIS_VARIANT_MASK 0x0000000e
|
|
|
|
+
|
|
|
|
+/* Variant 0; may contain v0..10 object. */
|
|
|
|
+#define EF_CRIS_VARIANT_ANY_V0_V10 0x00000000
|
|
|
|
+
|
|
|
|
+/* Variant 1; contains v32 object. */
|
|
|
|
+#define EF_CRIS_VARIANT_V32 0x00000002
|
|
|
|
+
|
|
|
|
+/* Variant 2; contains object compatible with v32 and v10. */
|
|
|
|
+#define EF_CRIS_VARIANT_COMMON_V10_V32 0x00000004
|
|
|
|
+/* End of excerpt from {binutils}/include/elf/cris.h. */
|
|
|
|
+
|
|
#define USE_ELF_CORE_DUMP
|
|
#define USE_ELF_CORE_DUMP
|
|
|
|
|
|
#define ELF_EXEC_PAGESIZE 8192
|
|
#define ELF_EXEC_PAGESIZE 8192
|