Module Name: src
Committed By: christos
Date: Fri Sep 25 16:05:18 UTC 2015
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/m68k/include: ptrace.h
src/sys/arch/mips/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:
For processors that have memory breakpoints, add macros for them to help
libproc
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/aarch64/include/ptrace.h
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/alpha/include/ptrace.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/amd64/include/ptrace.h
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/include/ptrace.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/hppa/include/ptrace.h
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/i386/include/ptrace.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/m68k/include/ptrace.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/mips/include/ptrace.h
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/sh3/include/ptrace.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/sparc/include/ptrace.h
cvs rdiff -u -r1.5 -r1.6 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.3 src/sys/arch/aarch64/include/ptrace.h:1.4
--- src/sys/arch/aarch64/include/ptrace.h:1.3 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/aarch64/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.3 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.4 2015/09/25 16:05:17 christos Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -56,6 +56,9 @@
#define PTRACE_REG_SP(r) (r)->r_sp
#define PTRACE_REG_INTRV(r) (r)->r_reg[0]
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xd4, 0x20, 0x01, 0xa0 })
+#define PTRACE_BREAKPOINT_SIZE 4
+
#elif defined(__arm__)
#include <arm/ptrace.h>
Index: src/sys/arch/alpha/include/ptrace.h
diff -u src/sys/arch/alpha/include/ptrace.h:1.7 src/sys/arch/alpha/include/ptrace.h:1.8
--- src/sys/arch/alpha/include/ptrace.h:1.7 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/alpha/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.7 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.8 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1994 Christopher G. Demetriou
@@ -46,7 +46,11 @@
"PT_SETFPREGS",
#include <machine/reg.h>
+
#define PTRACE_REG_PC(r) (r)->r_regs[R_ZERO]
#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]
+
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0x80, 0x00, 0x00, 0x00 })
+#define PTRACE_BREAKPOINT_SIZE 4
Index: src/sys/arch/amd64/include/ptrace.h
diff -u src/sys/arch/amd64/include/ptrace.h:1.5 src/sys/arch/amd64/include/ptrace.h:1.6
--- src/sys/arch/amd64/include/ptrace.h:1.5 Thu Sep 17 10:39:35 2015
+++ src/sys/arch/amd64/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.5 2015/09/17 14:39:35 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.6 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1993 Christopher G. Demetriou
@@ -55,6 +55,10 @@
#define PTRACE_REG_SP(r) (r)->regs[_REG_RSP]
#define PTRACE_REG_INTRV(r) (r)->regs[_REG_RAX]
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xcc })
+#define PTRACE_BREAKPOINT_SIZE 1
+#define PTRACE_BREAKPOINT_ADJ 1
+
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd32.h"
Index: src/sys/arch/arm/include/ptrace.h
diff -u src/sys/arch/arm/include/ptrace.h:1.7 src/sys/arch/arm/include/ptrace.h:1.8
--- src/sys/arch/arm/include/ptrace.h:1.7 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/arm/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.7 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.8 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1995 Frank Lancaster
@@ -57,3 +57,6 @@
#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]
+
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xe7, 0xff, 0xff, 0xff })
+#define PTRACE_BREAKPOINT_SIZE 4
Index: src/sys/arch/hppa/include/ptrace.h
diff -u src/sys/arch/hppa/include/ptrace.h:1.4 src/sys/arch/hppa/include/ptrace.h:1.5
--- src/sys/arch/hppa/include/ptrace.h:1.4 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/hppa/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.4 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.5 2015/09/25 16:05:17 christos Exp $ */
/* $OpenBSD: ptrace.h,v 1.2 1998/12/01 03:05:44 mickey Exp $ */
@@ -52,3 +52,6 @@
} while (/*CONSTCOND*/0)
#define PTRACE_REG_SP(r) (r)->r_out[30]
#define PTRACE_REG_INTRV(r) (r)->r_out[28]
+
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0x00, 0x01, 0x00, 0x04 })
+#define PTRACE_BREAKPOINT_SIZE 4
Index: src/sys/arch/i386/include/ptrace.h
diff -u src/sys/arch/i386/include/ptrace.h:1.14 src/sys/arch/i386/include/ptrace.h:1.15
--- src/sys/arch/i386/include/ptrace.h:1.14 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/i386/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.14 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.15 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -102,6 +102,10 @@
#define PTRACE_REG_SP(r) (r)->r_esp
#define PTRACE_REG_INTRV(r) (r)->r_eax
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xcc })
+#define PTRACE_BREAKPOINT_SIZE 1
+#define PTRACE_BREAKPOINT_ADJ sizeof(PTRACE_BREAKPOINT)
+
#ifdef _KERNEL
/*
Index: src/sys/arch/m68k/include/ptrace.h
diff -u src/sys/arch/m68k/include/ptrace.h:1.9 src/sys/arch/m68k/include/ptrace.h:1.10
--- src/sys/arch/m68k/include/ptrace.h:1.9 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/m68k/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.9 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.10 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1993 Christopher G. Demetriou
@@ -54,4 +54,7 @@
#define PTRACE_REG_SP(r) (r)->r_regs[15]
#define PTRACE_REG_INTRV(r) (r)->r_regs[0]
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0x4e, 0x4f })
+#define PTRACE_BREAKPOINT_SIZE 2
+
#endif /* !_M68K_PTRACE_H_ */
Index: src/sys/arch/mips/include/ptrace.h
diff -u src/sys/arch/mips/include/ptrace.h:1.13 src/sys/arch/mips/include/ptrace.h:1.14
--- src/sys/arch/mips/include/ptrace.h:1.13 Tue Sep 15 11:49:02 2015
+++ src/sys/arch/mips/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.13 2015/09/15 15:49:02 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.14 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -58,6 +58,10 @@
#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]
+
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0x00, 0x00, 0x00, 0x0d })
+#define PTRACE_BREAKPOINT_SIZE 4
+
/*
* Glue for gdb: map NetBSD register names to legacy ptrace register names
*/
Index: src/sys/arch/sh3/include/ptrace.h
diff -u src/sys/arch/sh3/include/ptrace.h:1.11 src/sys/arch/sh3/include/ptrace.h:1.12
--- src/sys/arch/sh3/include/ptrace.h:1.11 Tue Sep 15 11:49:03 2015
+++ src/sys/arch/sh3/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.11 2015/09/15 15:49:03 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.12 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1993 Christopher G. Demetriou
@@ -64,6 +64,9 @@
#define PTRACE_REG_SP(r) r->r_r15
#define PTRACE_REG_INTV(r) r->r_r0
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0xc3, 0xc3 })
+#define PTRACE_BREAKPOINT_SIZE 2
+
#ifdef _KERNEL
#ifdef _KERNEL_OPT
#include "opt_compat_netbsd.h"
Index: src/sys/arch/sparc/include/ptrace.h
diff -u src/sys/arch/sparc/include/ptrace.h:1.8 src/sys/arch/sparc/include/ptrace.h:1.9
--- src/sys/arch/sparc/include/ptrace.h:1.8 Tue Sep 15 11:49:03 2015
+++ src/sys/arch/sparc/include/ptrace.h Fri Sep 25 12:05:17 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.8 2015/09/15 15:49:03 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.9 2015/09/25 16:05:17 christos Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -62,3 +62,6 @@
} while (/*CONSTCOND*/0)
#define PTRACE_REG_SP(r) (r)->r_out[6]
#define PTRACE_REG_INTRV(r) (r)->r_out[0]
+
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0x91, 0xd0, 0x20, 0x01 })
+#define PTRACE_BREAKPOINT_SIZE 4
Index: src/sys/arch/vax/include/ptrace.h
diff -u src/sys/arch/vax/include/ptrace.h:1.5 src/sys/arch/vax/include/ptrace.h:1.6
--- src/sys/arch/vax/include/ptrace.h:1.5 Tue Sep 15 11:49:03 2015
+++ src/sys/arch/vax/include/ptrace.h Fri Sep 25 12:05:18 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: ptrace.h,v 1.5 2015/09/15 15:49:03 christos Exp $ */
+/* $NetBSD: ptrace.h,v 1.6 2015/09/25 16:05:18 christos Exp $ */
/*
* Copyright (c) 1994 Ludd, University of Lule}, Sweden.
@@ -48,3 +48,6 @@
#define PTRACE_REG_SET_PC(r, v) (r)->pc = (v)
#define PTRACE_REG_SP(r) (r)->sp
#define PTRACE_REG_INTRV(r) (r)->r0
+
+#define PTRACE_BREAKPOINT ((const uint8_t[]) { 0x03 })
+#define PTRACE_BREAKPOINT_SIZE 1