|
@@ -238,51 +238,6 @@ copy_thread(int nr, unsigned long clone_flags,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * fill in the user structure for a core dump..
|
|
|
- */
|
|
|
-void dump_thread(struct pt_regs *regs, struct user *dump)
|
|
|
-{
|
|
|
- dump->magic = CMAGIC;
|
|
|
- dump->start_code = 0;
|
|
|
- dump->start_stack = rdusp() & ~(PAGE_SIZE - 1);
|
|
|
- dump->u_tsize = ((unsigned long)current->mm->end_code) >> PAGE_SHIFT;
|
|
|
- dump->u_dsize = ((unsigned long)(current->mm->brk +
|
|
|
- (PAGE_SIZE - 1))) >> PAGE_SHIFT;
|
|
|
- dump->u_dsize -= dump->u_tsize;
|
|
|
- dump->u_ssize = 0;
|
|
|
-
|
|
|
- if (dump->start_stack < TASK_SIZE)
|
|
|
- dump->u_ssize =
|
|
|
- ((unsigned long)(TASK_SIZE -
|
|
|
- dump->start_stack)) >> PAGE_SHIFT;
|
|
|
-
|
|
|
- dump->u_ar0 = (struct user_regs_struct *)((int)&dump->regs - (int)dump);
|
|
|
-
|
|
|
- dump->regs.r0 = regs->r0;
|
|
|
- dump->regs.r1 = regs->r1;
|
|
|
- dump->regs.r2 = regs->r2;
|
|
|
- dump->regs.r3 = regs->r3;
|
|
|
- dump->regs.r4 = regs->r4;
|
|
|
- dump->regs.r5 = regs->r5;
|
|
|
- dump->regs.r6 = regs->r6;
|
|
|
- dump->regs.r7 = regs->r7;
|
|
|
- dump->regs.p0 = regs->p0;
|
|
|
- dump->regs.p1 = regs->p1;
|
|
|
- dump->regs.p2 = regs->p2;
|
|
|
- dump->regs.p3 = regs->p3;
|
|
|
- dump->regs.p4 = regs->p4;
|
|
|
- dump->regs.p5 = regs->p5;
|
|
|
- dump->regs.orig_p0 = regs->orig_p0;
|
|
|
- dump->regs.a0w = regs->a0w;
|
|
|
- dump->regs.a1w = regs->a1w;
|
|
|
- dump->regs.a0x = regs->a0x;
|
|
|
- dump->regs.a1x = regs->a1x;
|
|
|
- dump->regs.rets = regs->rets;
|
|
|
- dump->regs.astat = regs->astat;
|
|
|
- dump->regs.pc = regs->pc;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* sys_execve() executes a new program.
|
|
|
*/
|