patch-2.1.44 linux/include/asm-mips/elf.h

Next file: linux/include/asm-mips/errno.h
Previous file: linux/include/asm-mips/dma.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.43/linux/include/asm-mips/elf.h linux/include/asm-mips/elf.h
@@ -1,12 +1,9 @@
 #ifndef __ASM_MIPS_ELF_H
 #define __ASM_MIPS_ELF_H
 
-/*
- * ELF register definitions
- * This is "make it compile" stuff!
- */
-#define ELF_NGREG	32
-#define ELF_NFPREG	32
+/* ELF register definitions */
+#define ELF_NGREG	45
+#define ELF_NFPREG	33
 
 typedef unsigned long elf_greg_t;
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
@@ -17,17 +14,30 @@
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ((x) == EM_MIPS)
+#define elf_check_arch(x) ((x) == EM_MIPS || (x) == EM_MIPS_RS4_BE)
 
 /*
  * These are used to set parameters in the core dumps.
  * FIXME(eric) I don't know what the correct endianness to use is.
  */
 #define ELF_CLASS	ELFCLASS32
-#define ELF_DATA	ELFDATA2MSB;
+#ifdef __MIPSEB__
+#define ELF_DATA       ELFDATA2MSB;
+#elif __MIPSEL__
+#define ELF_DATA       ELFDATA2LSB;
+#endif
 #define ELF_ARCH	EM_MIPS
 
 #define USE_ELF_CORE_DUMP
 #define ELF_EXEC_PAGESIZE	4096
+
+#define ELF_CORE_COPY_REGS(_dest,_regs)				\
+	memcpy((char *) &_dest, (char *) _regs,			\
+	       sizeof(struct pt_regs));
+
+/* See comments in asm-alpha/elf.h, this is the same thing
+ * on the MIPS.
+ */
+#define ELF_PLAT_INIT(_r)	_r->regs[2] = 0;
 
 #endif /* __ASM_MIPS_ELF_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov