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

Reply via email to