--- ptrace.c.orig Mon Jul 1 04:17:20 2002 +++ ptrace.c Fri Sep 20 15:58:45 2002 @@ -468,9 +468,23 @@ if ((addr & 3) || addr < 0 || addr >= sizeof(struct user)) break; +#if 0 tmp = 0; /* Default return condition */ if (addr < sizeof(struct pt_regs)) tmp = get_stack_long(child, (int)addr >> 2); +#else + tmp = 0; /* Default return condition */ + if (addr < sizeof(struct pt_regs)) { + tmp = get_stack_long(child, (int)addr >> 2); + } else if (addr == 4*49) { + tmp = child->mm->start_code; + } else if (addr == 4*50) { + tmp = child->mm->start_data; + } else if (addr == 4*51) { + tmp = child->mm->end_code; + } else + break; +#endif ret = put_user(tmp, (unsigned long *)data); break;