Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv26007/arch/vax/kernel
Modified Files:
ptrace.c
Log Message:
DA: fix SP and clean up warnings
Index: ptrace.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/ptrace.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ptrace.c 2001/11/13 23:31:16 1.5
+++ ptrace.c 2001/11/14 09:13:23 1.6
@@ -65,13 +65,17 @@
static int putreg(struct task_struct *child,
unsigned long regno, unsigned long value)
{
- unsigned long retval = ~0UL;
struct pt_regs *regs_ptr;
regs_ptr = ptrace_find_vax_regs(child);
if (!regs_ptr)
return 0;
+ if ((regno>>2) == PT_SP)
+ {
+ child->thread.pcb.usp = value;
+ return 0;
+ }
switch(regno >> 2) {
case 0 ... 16:
// retval = *(((unsigned long *)regs_ptr) + (regno>>2));
@@ -79,7 +83,7 @@
// *(unsigned long *)((&child->thread.pcb)+4+(regno>>2))=value;
break;
default:
- printk("putreg for %d failed\n", regno);
+ printk("putreg for %lu failed\n", regno);
break;
}
@@ -98,12 +102,17 @@
if (!regs_ptr)
return 0;
+ if ((regno>>2) == PT_SP)
+ {
+ retval = child->thread.pcb.usp;
+ return retval;
+ }
switch(regno >> 2) {
case 0 ... 16:
retval = *(((unsigned long *)regs_ptr) + (regno>>2));
break;
default:
- printk("getreg for %d failed\n", regno);
+ printk("getreg for %lu failed\n", regno);
retval=0;
break;
}
@@ -286,7 +295,7 @@
child->ptrace |= PT_DTRACE;
tmp = getreg(child, PT_PSL<<2);
- psl = &tmp;
+ psl = (struct psl_fields *)&tmp;
psl->t=1;
putreg(child, PT_PSL<<2, *(unsigned long *)psl);
// printk("tmp is %8lX, psl is now %8lX\n", tmp, *(unsigned long *)psl);
|