original patch by Bob Picco
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: Bob Picco <bob.picco@oracle.com>
typedef unsigned long elf_greg_t;
#define ELF_NGREG 36
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+extern void sparc64_elf_core_copy_regs(elf_gregset_t dst, struct pt_regs *regs);
+#define ELF_CORE_COPY_REGS(DEST, REGS) \
+ sparc64_elf_core_copy_regs((DEST), (REGS));
typedef struct {
unsigned long pr_regs[32];
out:
return ret;
}
+
+void sparc64_elf_core_copy_regs(elf_gregset_t dst, struct pt_regs *regs)
+{
+ memcpy(&dst[0], regs->u_regs, 8 * sizeof(unsigned long));
+ memcpy(&dst[24], ®s->u_regs[8], 8 * sizeof(unsigned long));
+ dst[32] = regs->tstate;
+ dst[33] = regs->tpc;
+ dst[34] = regs->tnpc;
+ dst[35] = regs->y;
+}