diff options
author | marcel <marcel@FreeBSD.org> | 2010-02-09 17:20:00 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2010-02-09 17:20:00 +0000 |
commit | bcd7bda0dad6382566dc0e40b8415a24b3f1f778 (patch) | |
tree | f98c7bcf56897f9a2ade96fcdba251035bc2d68c /sys/kern/sys_process.c | |
parent | 36dc0770b218c83fd37dfb38ab8dc4ccc1c4bab6 (diff) | |
download | FreeBSD-src-bcd7bda0dad6382566dc0e40b8415a24b3f1f778.zip FreeBSD-src-bcd7bda0dad6382566dc0e40b8415a24b3f1f778.tar.gz |
Unbreak building kernels with COMPAT_32 enabled. The actual support
for the PT_VM_ENTRY request from 32-bit processes will follow.
Pointy hat: marcel
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r-- | sys/kern/sys_process.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 77734a4..ed1890f 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -73,6 +73,17 @@ struct ptrace_io_desc32 { u_int32_t piod_addr; u_int32_t piod_len; }; + +struct ptrace_vm_entry32 { + uint32_t pve_cookie; + uint32_t pve_start; + uint32_t pve_end; + uint32_t pve_offset; + u_int pve_prot; + u_int pve_pathlen; + uint32_t pve_path; +}; + #endif /* @@ -484,6 +495,7 @@ ptrace(struct thread *td, struct ptrace_args *uap) struct fpreg32 fpreg32; struct reg32 reg32; struct ptrace_io_desc32 piod32; + struct ptrace_vm_entry32 pve32; #endif } r; void *addr; @@ -1075,6 +1087,13 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) break; case PT_VM_ENTRY: +#ifdef COMPAT_IA32 + /* XXX to be implemented. */ + if (wrap32) { + error = EDOOFUS; + break; + } +#endif PROC_UNLOCK(p); error = ptrace_vm_entry(td, p, addr); PROC_LOCK(p); |