Module Name: src Committed By: martin Date: Sun Jan 12 12:02:46 UTC 2025
Modified Files: src/sys/kern [netbsd-10]: sys_process_lwpstatus.c sys_ptrace_common.c src/sys/sys [netbsd-10]: ptrace.h Log Message: Pull up following revision(s) (requested by hgutch in ticket #1039): sys/kern/sys_process_lwpstatus.c: revision 1.5 sys/sys/ptrace.h: revision 1.77 sys/kern/sys_ptrace_common.c: revision 1.96 PR/58983: Harold Gutch: Fix INSTALL_FLOPPY on i386. Make the register handling code conditional on if PTRACE is enabled in the kernel. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.4.4.1 src/sys/kern/sys_process_lwpstatus.c cvs rdiff -u -r1.92 -r1.92.4.1 src/sys/kern/sys_ptrace_common.c cvs rdiff -u -r1.75 -r1.75.4.1 src/sys/sys/ptrace.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/sys_process_lwpstatus.c diff -u src/sys/kern/sys_process_lwpstatus.c:1.4 src/sys/kern/sys_process_lwpstatus.c:1.4.4.1 --- src/sys/kern/sys_process_lwpstatus.c:1.4 Sun Jul 10 17:47:58 2022 +++ src/sys/kern/sys_process_lwpstatus.c Sun Jan 12 12:02:46 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_process_lwpstatus.c,v 1.4 2022/07/10 17:47:58 riastradh Exp $ */ +/* $NetBSD: sys_process_lwpstatus.c,v 1.4.4.1 2025/01/12 12:02:46 martin Exp $ */ /*- * Copyright (c) 2019 The NetBSD Foundation, Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_process_lwpstatus.c,v 1.4 2022/07/10 17:47:58 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_process_lwpstatus.c,v 1.4.4.1 2025/01/12 12:02:46 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_ptrace.h" @@ -112,7 +112,7 @@ int process_validfpregs(struct lwp *l) { -#if defined(PT_SETFPREGS) || defined(PT_GETFPREGS) +#if defined(PT_FPREGS) return (l->l_flag & LW_SYSTEM) == 0; #else return 0; @@ -123,7 +123,7 @@ int process_validregs(struct lwp *l) { -#if defined(PT_SETREGS) || defined(PT_GETREGS) +#if defined(PT_REGS) return (l->l_flag & LW_SYSTEM) == 0; #else return 0; @@ -134,7 +134,7 @@ int process_validdbregs(struct lwp *l) { -#if defined(PT_SETDBREGS) || defined(PT_GETDBREGS) +#if defined(PT_DBREGS) return (l->l_flag & LW_SYSTEM) == 0; #else return 0; @@ -183,7 +183,7 @@ process_doregs(struct lwp *curl /*tracer struct lwp *l /*traced*/, struct uio *uio) { -#if defined(PT_GETREGS) || defined(PT_SETREGS) +#if defined(PT_REGS) size_t s; ptrace_regrfunc_t r; ptrace_regwfunc_t w; @@ -217,7 +217,7 @@ process_dofpregs(struct lwp *curl /*trac struct lwp *l /*traced*/, struct uio *uio) { -#if defined(PT_GETFPREGS) || defined(PT_SETFPREGS) +#if defined(PT_FPREGS) size_t s; ptrace_regrfunc_t r; ptrace_regwfunc_t w; @@ -252,7 +252,7 @@ process_dodbregs(struct lwp *curl /*trac struct lwp *l /*traced*/, struct uio *uio) { -#if defined(PT_GETDBREGS) || defined(PT_SETDBREGS) +#if defined(PT_DBREGS) size_t s; ptrace_regrfunc_t r; ptrace_regwfunc_t w; Index: src/sys/kern/sys_ptrace_common.c diff -u src/sys/kern/sys_ptrace_common.c:1.92 src/sys/kern/sys_ptrace_common.c:1.92.4.1 --- src/sys/kern/sys_ptrace_common.c:1.92 Mon Aug 9 20:49:10 2021 +++ src/sys/kern/sys_ptrace_common.c Sun Jan 12 12:02:46 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_ptrace_common.c,v 1.92 2021/08/09 20:49:10 andvar Exp $ */ +/* $NetBSD: sys_ptrace_common.c,v 1.92.4.1 2025/01/12 12:02:46 martin Exp $ */ /*- * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc. @@ -107,7 +107,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_ptrace_common.c,v 1.92 2021/08/09 20:49:10 andvar Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_ptrace_common.c,v 1.92.4.1 2025/01/12 12:02:46 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_ptrace.h" @@ -884,7 +884,7 @@ ptrace_regs(struct lwp *l, struct lwp ** DPRINTF(("%s: lwp=%d request=%d\n", __func__, l->l_lid, rq)); switch (rq) { -#if defined(PT_SETREGS) || defined(PT_GETREGS) +#if defined(PT_REGS) case_PT_GETREGS case_PT_SETREGS if (!process_validregs(*lt)) @@ -893,7 +893,7 @@ ptrace_regs(struct lwp *l, struct lwp ** func = ptm->ptm_doregs; break; #endif -#if defined(PT_SETFPREGS) || defined(PT_GETFPREGS) +#if defined(PT_FPREGS) case_PT_GETFPREGS case_PT_SETFPREGS if (!process_validfpregs(*lt)) @@ -902,7 +902,7 @@ ptrace_regs(struct lwp *l, struct lwp ** func = ptm->ptm_dofpregs; break; #endif -#if defined(PT_SETDBREGS) || defined(PT_GETDBREGS) +#if defined(PT_DBREGS) case_PT_GETDBREGS case_PT_SETDBREGS if (!process_validdbregs(*lt)) Index: src/sys/sys/ptrace.h diff -u src/sys/sys/ptrace.h:1.75 src/sys/sys/ptrace.h:1.75.4.1 --- src/sys/sys/ptrace.h:1.75 Wed Jun 8 23:12:27 2022 +++ src/sys/sys/ptrace.h Sun Jan 12 12:02:46 2025 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.75 2022/06/08 23:12:27 andvar Exp $ */ +/* $NetBSD: ptrace.h,v 1.75.4.1 2025/01/12 12:02:46 martin Exp $ */ /*- * Copyright (c) 1984, 1993 @@ -346,11 +346,20 @@ int ptrace_machdep_dorequest(struct lwp typedef int (*ptrace_regrfunc_t)(struct lwp *, void *, size_t *); typedef int (*ptrace_regwfunc_t)(struct lwp *, void *, size_t); -#if defined(PT_SETREGS) || defined(PT_GETREGS) || \ - defined(PT_SETFPREGS) || defined(PT_GETFPREGS) || \ - defined(PT_SETDBREGS) || defined(PT_GETDBREGS) -# define PT_REGISTERS -#endif +#if defined(PTRACE) +# if defined(PT_SETREGS) || defined(PT_GETREGS) +# define PT_REGS +# endif +# if defined(PT_SETFPREGS) || defined(PT_GETFPREGS) +# define PT_FPREGS +# endif +# if defined(PT_SETDBREGS) || defined(PT_GETDBREGS) +# define PT_DBREGS +# endif +# if defined(PT_REGS) || defined(PT_FPREGS) || defined(PT_DBREGS) +# define PT_REGISTERS +# endif +#endif /* PTRACE */ #else /* !_KERNEL */