X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Flinux%2Felfcore.h;h=00d6a68d04215e7e289a3451ca4a8f714e2b6975;hb=813d76694043d00b59475baa1fbfaf54a2eb7fad;hp=0432de7d47077f2e3dd06b611e771ea34410de21;hpb=c1445db9f72db0537c43a2eab6e1b0f6741162f5;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/linux/elfcore.h b/include/linux/elfcore.h index 0432de7..00d6a68 100644 --- a/include/linux/elfcore.h +++ b/include/linux/elfcore.h @@ -16,7 +16,9 @@ struct elf_siginfo int si_errno; /* errno */ }; +#ifdef __KERNEL__ #include +#endif #ifndef __KERNEL__ typedef elf_greg_t greg_t; @@ -109,11 +111,21 @@ static inline void elf_core_copy_regs(elf_gregset_t *elfregs, struct pt_regs *re #endif } +static inline void elf_core_copy_kernel_regs(elf_gregset_t *elfregs, struct pt_regs *regs) +{ +#ifdef ELF_CORE_COPY_KERNEL_REGS + ELF_CORE_COPY_KERNEL_REGS((*elfregs), regs); +#else + elf_core_copy_regs(elfregs, regs); +#endif +} + static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t* elfregs) { -#ifdef ELF_CORE_COPY_TASK_REGS - +#if defined (ELF_CORE_COPY_TASK_REGS) return ELF_CORE_COPY_TASK_REGS(t, elfregs); +#elif defined (task_pt_regs) + elf_core_copy_regs(elfregs, task_pt_regs(t)); #endif return 0; }