Module Name: src Committed By: kamil Date: Tue Jun 18 21:18:13 UTC 2019
Modified Files: src/sys/arch/aarch64/include: ptrace.h src/sys/arch/alpha/include: ptrace.h src/sys/arch/amd64/include: ptrace.h src/sys/arch/arm/include: ptrace.h src/sys/arch/hppa/include: ptrace.h src/sys/arch/i386/include: ptrace.h src/sys/arch/ia64/include: ptrace.h src/sys/arch/m68k/include: ptrace.h src/sys/arch/mips/include: ptrace.h src/sys/arch/or1k/include: ptrace.h src/sys/arch/powerpc/include: ptrace.h src/sys/arch/riscv/include: ptrace.h src/sys/arch/sh3/include: ptrace.h src/sys/arch/sparc/include: ptrace.h src/sys/arch/vax/include: ptrace.h Log Message: Introduce PTRACE_REG_FP() a helper macro to retrieve the frame pointer The macro is dummy for ia64 (the FP register is unknown and can change freely) and sparc/sparc64 (not stored in struct reg). To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/aarch64/include/ptrace.h cvs rdiff -u -r1.9 -r1.10 src/sys/arch/alpha/include/ptrace.h cvs rdiff -u -r1.14 -r1.15 src/sys/arch/amd64/include/ptrace.h cvs rdiff -u -r1.14 -r1.15 src/sys/arch/arm/include/ptrace.h cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hppa/include/ptrace.h cvs rdiff -u -r1.21 -r1.22 src/sys/arch/i386/include/ptrace.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/ptrace.h cvs rdiff -u -r1.12 -r1.13 src/sys/arch/m68k/include/ptrace.h cvs rdiff -u -r1.16 -r1.17 src/sys/arch/mips/include/ptrace.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/or1k/include/ptrace.h cvs rdiff -u -r1.13 -r1.14 src/sys/arch/powerpc/include/ptrace.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/riscv/include/ptrace.h cvs rdiff -u -r1.14 -r1.15 src/sys/arch/sh3/include/ptrace.h cvs rdiff -u -r1.13 -r1.14 src/sys/arch/sparc/include/ptrace.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/vax/include/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/arch/aarch64/include/ptrace.h diff -u src/sys/arch/aarch64/include/ptrace.h:1.8 src/sys/arch/aarch64/include/ptrace.h:1.9 --- src/sys/arch/aarch64/include/ptrace.h:1.8 Thu Dec 13 10:44:25 2018 +++ src/sys/arch/aarch64/include/ptrace.h Tue Jun 18 21:18:11 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.8 2018/12/13 10:44:25 ryo Exp $ */ +/* $NetBSD: ptrace.h,v 1.9 2019/06/18 21:18:11 kamil Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -57,6 +57,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_pc +#define PTRACE_REG_FP(r) (r)->r_reg[29] #define PTRACE_REG_SET_PC(r, v) (r)->r_pc = (v) #define PTRACE_REG_SP(r) (r)->r_sp #define PTRACE_REG_INTRV(r) (r)->r_reg[0] Index: src/sys/arch/alpha/include/ptrace.h diff -u src/sys/arch/alpha/include/ptrace.h:1.9 src/sys/arch/alpha/include/ptrace.h:1.10 --- src/sys/arch/alpha/include/ptrace.h:1.9 Wed Apr 12 18:17:59 2017 +++ src/sys/arch/alpha/include/ptrace.h Tue Jun 18 21:18:11 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.9 2017/04/12 18:17:59 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.10 2019/06/18 21:18:11 kamil Exp $ */ /* * Copyright (c) 1994 Christopher G. Demetriou @@ -48,6 +48,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_regs[R_ZERO] +#define PTRACE_REG_FP(r) (r)->r_regs[R_S6] #define PTRACE_REG_SET_PC(r, v) (r)->r_regs[R_ZERO] = (v) #define PTRACE_REG_SP(r) (r)->r_regs[R_SP] #define PTRACE_REG_INTRV(r) (r)->r_regs[R_V0] Index: src/sys/arch/amd64/include/ptrace.h diff -u src/sys/arch/amd64/include/ptrace.h:1.14 src/sys/arch/amd64/include/ptrace.h:1.15 --- src/sys/arch/amd64/include/ptrace.h:1.14 Tue Jun 4 16:29:53 2019 +++ src/sys/arch/amd64/include/ptrace.h Tue Jun 18 21:18:11 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.14 2019/06/04 16:29:53 mgorny Exp $ */ +/* $NetBSD: ptrace.h,v 1.15 2019/06/18 21:18:11 kamil Exp $ */ /* * Copyright (c) 1993 Christopher G. Demetriou @@ -59,6 +59,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->regs[_REG_RIP] +#define PTRACE_REG_FP(r) (r)->regs[_REG_RBP] #define PTRACE_REG_SET_PC(r, v) (r)->regs[_REG_RIP] = (v) #define PTRACE_REG_SP(r) (r)->regs[_REG_RSP] #define PTRACE_REG_INTRV(r) (r)->regs[_REG_RAX] Index: src/sys/arch/arm/include/ptrace.h diff -u src/sys/arch/arm/include/ptrace.h:1.14 src/sys/arch/arm/include/ptrace.h:1.15 --- src/sys/arch/arm/include/ptrace.h:1.14 Tue Jun 18 15:21:19 2019 +++ src/sys/arch/arm/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.14 2019/06/18 15:21:19 skrll Exp $ */ +/* $NetBSD: ptrace.h,v 1.15 2019/06/18 21:18:12 kamil Exp $ */ /* * Copyright (c) 1995 Frank Lancaster @@ -60,6 +60,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(_r) (_r)->r_pc +#define PTRACE_REG_FP(_r) (_r)->r[11] #define PTRACE_REG_SET_PC(_r, _v) (_r)->r_pc = (_v) #define PTRACE_REG_SP(_r) (_r)->r_sp #define PTRACE_REG_INTRV(_r) (_r)->r[0] Index: src/sys/arch/hppa/include/ptrace.h diff -u src/sys/arch/hppa/include/ptrace.h:1.8 src/sys/arch/hppa/include/ptrace.h:1.9 --- src/sys/arch/hppa/include/ptrace.h:1.8 Wed Apr 12 18:17:59 2017 +++ src/sys/arch/hppa/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.8 2017/04/12 18:17:59 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.9 2019/06/18 21:18:12 kamil Exp $ */ /* $OpenBSD: ptrace.h,v 1.2 1998/12/01 03:05:44 mickey Exp $ */ @@ -50,6 +50,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_pcoqh +#define PTRACE_REG_FP(r) (r)->r_regs[3] #define PTRACE_REG_SET_PC(r, v) do { \ (r)->r_pcoqh = (v); \ (r)->r_pcoqt = (v) + 4; \ Index: src/sys/arch/i386/include/ptrace.h diff -u src/sys/arch/i386/include/ptrace.h:1.21 src/sys/arch/i386/include/ptrace.h:1.22 --- src/sys/arch/i386/include/ptrace.h:1.21 Mon Jun 17 14:31:51 2019 +++ src/sys/arch/i386/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.21 2019/06/17 14:31:51 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.22 2019/06/18 21:18:12 kamil Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -107,6 +107,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_eip +#define PTRACE_REG_FP(r) (r)->r_ebp #define PTRACE_REG_SET_PC(r, v) (r)->r_eip = (v) #define PTRACE_REG_SP(r) (r)->r_esp #define PTRACE_REG_INTRV(r) (r)->r_eax Index: src/sys/arch/ia64/include/ptrace.h diff -u src/sys/arch/ia64/include/ptrace.h:1.4 src/sys/arch/ia64/include/ptrace.h:1.5 --- src/sys/arch/ia64/include/ptrace.h:1.4 Sat Apr 8 00:25:49 2017 +++ src/sys/arch/ia64/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.4 2017/04/08 00:25:49 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.5 2019/06/18 21:18:12 kamil Exp $ */ /* * Copyright (c) 1994 Christopher G. Demetriou @@ -52,6 +52,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_special.iip +#define PTRACE_REG_FP(r) 0 /* Not supported in target */ #define PTRACE_REG_SET_PC(r, v) (r)->r_special.iip = (v) #define PTRACE_REG_SP(r) (r)->r_special.sp #ifdef notyet Index: src/sys/arch/m68k/include/ptrace.h diff -u src/sys/arch/m68k/include/ptrace.h:1.12 src/sys/arch/m68k/include/ptrace.h:1.13 --- src/sys/arch/m68k/include/ptrace.h:1.12 Wed Apr 12 18:18:00 2017 +++ src/sys/arch/m68k/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.12 2017/04/12 18:18:00 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.13 2019/06/18 21:18:12 kamil Exp $ */ /* * Copyright (c) 1993 Christopher G. Demetriou @@ -54,6 +54,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_pc +#define PTRACE_REG_FP(r) (r)->r_regs[14] #define PTRACE_REG_SET_PC(r, v) (r)->r_pc = (v) #define PTRACE_REG_SP(r) (r)->r_regs[15] #define PTRACE_REG_INTRV(r) (r)->r_regs[0] Index: src/sys/arch/mips/include/ptrace.h diff -u src/sys/arch/mips/include/ptrace.h:1.16 src/sys/arch/mips/include/ptrace.h:1.17 --- src/sys/arch/mips/include/ptrace.h:1.16 Wed Apr 12 18:18:00 2017 +++ src/sys/arch/mips/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.16 2017/04/12 18:18:00 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.17 2019/06/18 21:18:12 kamil Exp $ */ /* * Copyright (c) 1992, 1993 @@ -62,6 +62,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_regs[35] +#define PTRACE_REG_FP(r) (r)->r_regs[30] #define PTRACE_REG_SET_PC(r, v) (r)->r_regs[35] = (v) #define PTRACE_REG_SP(r) (r)->r_regs[29] #define PTRACE_REG_INTRV(r) (r)->r_regs[2] Index: src/sys/arch/or1k/include/ptrace.h diff -u src/sys/arch/or1k/include/ptrace.h:1.2 src/sys/arch/or1k/include/ptrace.h:1.3 --- src/sys/arch/or1k/include/ptrace.h:1.2 Tue Sep 15 15:49:03 2015 +++ src/sys/arch/or1k/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.2 2015/09/15 15:49:03 christos Exp $ */ +/* $NetBSD: ptrace.h,v 1.3 2019/06/18 21:18:12 kamil Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -44,7 +44,8 @@ "PT_SETREGS" #include <machine/reg.h> -#define PTRACE_REG_PC(r) (r)->r_reg[31] // XXX:!?! +#define PTRACE_REG_PC(r) (r)->r_reg[31] +#define PTRACE_REG_FP(r) (r)->r_reg[1] #define PTRACE_REG_SET_PC(r, v) (r)->r_reg[31] = (v) #define PTRACE_REG_SP(r) (r)->r_reg[11] #define PTRACE_REG_INTRV(r) (r)->r_reg[0] Index: src/sys/arch/powerpc/include/ptrace.h diff -u src/sys/arch/powerpc/include/ptrace.h:1.13 src/sys/arch/powerpc/include/ptrace.h:1.14 --- src/sys/arch/powerpc/include/ptrace.h:1.13 Sat Apr 8 00:25:49 2017 +++ src/sys/arch/powerpc/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.13 2017/04/08 00:25:49 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.14 2019/06/18 21:18:12 kamil Exp $ */ #ifndef _POWERPC_PTRACE_H #define _POWERPC_PTRACE_H @@ -22,6 +22,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->pc +#define PTRACE_REG_FP(r) (r)->fixreg[31] #define PTRACE_REG_SET_PC(r, v) (r)->pc = (v) #define PTRACE_REG_SP(r) (r)->fixreg[1] #define PTRACE_REG_INTRV(r) (r)->fixreg[3] Index: src/sys/arch/riscv/include/ptrace.h diff -u src/sys/arch/riscv/include/ptrace.h:1.2 src/sys/arch/riscv/include/ptrace.h:1.3 --- src/sys/arch/riscv/include/ptrace.h:1.2 Tue Sep 15 15:49:03 2015 +++ src/sys/arch/riscv/include/ptrace.h Tue Jun 18 21:18:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.2 2015/09/15 15:49:03 christos Exp $ */ +/* $NetBSD: ptrace.h,v 1.3 2019/06/18 21:18:12 kamil Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -49,6 +49,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->r_pc +#define PTRACE_REG_FP(r) (r)->r_reg[7] #define PTRACE_REG_SET_PC(r, v) (r)->r_pc = (v) #define PTRACE_REG_SP(r) (r)->r_reg[1] #define PTRACE_REG_INTRV(r) (r)->r_reg[9] Index: src/sys/arch/sh3/include/ptrace.h diff -u src/sys/arch/sh3/include/ptrace.h:1.14 src/sys/arch/sh3/include/ptrace.h:1.15 --- src/sys/arch/sh3/include/ptrace.h:1.14 Wed Apr 12 18:18:00 2017 +++ src/sys/arch/sh3/include/ptrace.h Tue Jun 18 21:18:13 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.14 2017/04/12 18:18:00 kamil Exp $ */ +/* $NetBSD: ptrace.h,v 1.15 2019/06/18 21:18:13 kamil Exp $ */ /* * Copyright (c) 1993 Christopher G. Demetriou @@ -67,6 +67,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) r->r_spc +#define PTRACE_REG_FP(r) r->r_r14 #define PTRACE_REG_SET_PC(r, v) r->r_spc = (v) #define PTRACE_REG_SP(r) r->r_r15 #define PTRACE_REG_INTV(r) r->r_r0 Index: src/sys/arch/sparc/include/ptrace.h diff -u src/sys/arch/sparc/include/ptrace.h:1.13 src/sys/arch/sparc/include/ptrace.h:1.14 --- src/sys/arch/sparc/include/ptrace.h:1.13 Wed Apr 17 15:42:02 2019 +++ src/sys/arch/sparc/include/ptrace.h Tue Jun 18 21:18:13 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.13 2019/04/17 15:42:02 martin Exp $ */ +/* $NetBSD: ptrace.h,v 1.14 2019/06/18 21:18:13 kamil Exp $ */ /* * Copyright (c) 1992, 1993 @@ -56,6 +56,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) ((register_t)(r)->r_pc) +#define PTRACE_REG_FP(r) 0 /* not stored in struct reg */ #define PTRACE_REG_SET_PC(r, v) do { \ (r)->r_pc = (v); \ (r)->r_npc = (v) + 4; \ Index: src/sys/arch/vax/include/ptrace.h diff -u src/sys/arch/vax/include/ptrace.h:1.10 src/sys/arch/vax/include/ptrace.h:1.11 --- src/sys/arch/vax/include/ptrace.h:1.10 Mon May 22 17:12:11 2017 +++ src/sys/arch/vax/include/ptrace.h Tue Jun 18 21:18:13 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.h,v 1.10 2017/05/22 17:12:11 ragge Exp $ */ +/* $NetBSD: ptrace.h,v 1.11 2019/06/18 21:18:13 kamil Exp $ */ /* * Copyright (c) 1994 Ludd, University of Lule}, Sweden. @@ -44,6 +44,7 @@ #include <machine/reg.h> #define PTRACE_REG_PC(r) (r)->pc +#define PTRACE_REG_FP(r) (r)->fp #define PTRACE_REG_SET_PC(r, v) (r)->pc = (v) #define PTRACE_REG_SP(r) (r)->sp #define PTRACE_REG_INTRV(r) (r)->r0