diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-08-23 11:18:47 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-08-23 11:18:47 +0200 |
commit | 8a517c514d5893602cf85c1b4c47afbbc04d2198 (patch) | |
tree | e7c40f68ef97bb2bdb4c366c0b45437bc049feb1 /arch/mips/kernel/binfmt_elfo32.c | |
parent | c64b04fe6e0cb7c78e01751a44ef56cf20344e87 (diff) | |
parent | 422bef879e84104fee6dc68ded0e371dbeb5f88e (diff) | |
download | kernel-crypto-8a517c514d5893602cf85c1b4c47afbbc04d2198.tar.gz kernel-crypto-8a517c514d5893602cf85c1b4c47afbbc04d2198.tar.xz kernel-crypto-8a517c514d5893602cf85c1b4c47afbbc04d2198.zip |
Merge commit 'v2.6.31-rc7' into x86/cpu
Diffstat (limited to 'arch/mips/kernel/binfmt_elfo32.c')
-rw-r--r-- | arch/mips/kernel/binfmt_elfo32.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/arch/mips/kernel/binfmt_elfo32.c b/arch/mips/kernel/binfmt_elfo32.c index e1333d7319e..ff448233dab 100644 --- a/arch/mips/kernel/binfmt_elfo32.c +++ b/arch/mips/kernel/binfmt_elfo32.c @@ -53,6 +53,23 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) #include <asm/processor.h> + +/* + * When this file is selected, we are definitely running a 64bit kernel. + * So using the right regs define in asm/reg.h + */ +#define WANT_COMPAT_REG_H + +/* These MUST be defined before elf.h gets included */ +extern void elf32_core_copy_regs(elf_gregset_t grp, struct pt_regs *regs); +#define ELF_CORE_COPY_REGS(_dest, _regs) elf32_core_copy_regs(_dest, _regs); +#define ELF_CORE_COPY_TASK_REGS(_tsk, _dest) \ +({ \ + int __res = 1; \ + elf32_core_copy_regs(*(_dest), task_pt_regs(_tsk)); \ + __res; \ +}) + #include <linux/module.h> #include <linux/elfcore.h> #include <linux/compat.h> @@ -110,9 +127,6 @@ jiffies_to_compat_timeval(unsigned long jiffies, struct compat_timeval *value) value->tv_usec = rem / NSEC_PER_USEC; } -#undef ELF_CORE_COPY_REGS -#define ELF_CORE_COPY_REGS(_dest, _regs) elf32_core_copy_regs(_dest, _regs); - void elf32_core_copy_regs(elf_gregset_t grp, struct pt_regs *regs) { int i; |