]> err.no Git - linux-2.6/blobdiff - include/asm-mips/elf.h
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / include / asm-mips / elf.h
index a4db9ec956656c6ac5af3569b1a5e07120c54bf1..851f013adad34a4541dad2cfce71f1823cfd15bb 100644 (file)
@@ -2,6 +2,8 @@
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
+ *
+ * Much of this is taken from binutils and GNU libc ...
  */
 #ifndef _ASM_ELF_H
 #define _ASM_ELF_H
@@ -17,6 +19,8 @@
 #define EF_MIPS_ARCH_5         0x40000000      /* -mips5 code.  */
 #define EF_MIPS_ARCH_32                0x50000000      /* MIPS32 code.  */
 #define EF_MIPS_ARCH_64                0x60000000      /* MIPS64 code.  */
+#define EF_MIPS_ARCH_32R2      0x70000000      /* MIPS32 R2 code.  */
+#define EF_MIPS_ARCH_64R2      0x80000000      /* MIPS64 R2 code.  */
 
 /* The ABI of a file. */
 #define EF_MIPS_ABI_O32                0x00001000      /* O32 ABI.  */
 #define R_MIPS_LOVENDOR                100
 #define R_MIPS_HIVENDOR                127
 
-#define SHN_MIPS_ACCOMON       0xff00
+#define SHN_MIPS_ACCOMON       0xff00          /* Allocated common symbols */
+#define SHN_MIPS_TEXT          0xff01          /* Allocated test symbols.  */
+#define SHN_MIPS_DATA          0xff02          /* Allocated data symbols.  */
+#define SHN_MIPS_SCOMMON       0xff03          /* Small common symbols */
+#define SHN_MIPS_SUNDEFINED    0xff04          /* Small undefined symbols */
 
 #define SHT_MIPS_LIST          0x70000000
 #define SHT_MIPS_CONFLICT      0x70000002
@@ -267,12 +275,14 @@ do {                                                                      \
 
 #endif /* CONFIG_64BIT */
 
-extern void dump_regs(elf_greg_t *, struct pt_regs *regs);
+struct task_struct;
+
+extern void elf_dump_regs(elf_greg_t *, struct pt_regs *regs);
 extern int dump_task_regs (struct task_struct *, elf_gregset_t *);
 extern int dump_task_fpu(struct task_struct *, elf_fpregset_t *);
 
 #define ELF_CORE_COPY_REGS(elf_regs, regs)                     \
-       dump_regs((elf_greg_t *)&(elf_regs), regs);
+       elf_dump_regs((elf_greg_t *)&(elf_regs), regs);
 #define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk, elf_regs)
 #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs)                  \
        dump_task_fpu(tsk, elf_fpregs)