svn commit: r232520 - in head/sys: amd64/amd64 amd64/include i386/include pc98/include x86/include

Tijl Coosemans tijl at FreeBSD.org
Sun Mar 4 20:24:29 UTC 2012


Author: tijl
Date: Sun Mar  4 20:24:28 2012
New Revision: 232520
URL: http://svn.freebsd.org/changeset/base/232520

Log:
  Copy amd64 ptrace.h to x86 and merge with i386 ptrace.h. Replace
  amd64/i386/pc98 ptrace.h with stubs.
  
  For amd64 PT_GETXSTATE and PT_SETXSTATE have been redefined to match the
  i386 values. The old values are still supported but should no longer be
  used.
  
  Reviewed by:	kib

Added:
  head/sys/x86/include/ptrace.h
     - copied, changed from r232518, head/sys/amd64/include/ptrace.h
Modified:
  head/sys/amd64/amd64/ptrace_machdep.c
  head/sys/amd64/include/ptrace.h
  head/sys/i386/include/ptrace.h
  head/sys/pc98/include/ptrace.h

Modified: head/sys/amd64/amd64/ptrace_machdep.c
==============================================================================
--- head/sys/amd64/amd64/ptrace_machdep.c	Sun Mar  4 20:02:20 2012	(r232519)
+++ head/sys/amd64/amd64/ptrace_machdep.c	Sun Mar  4 20:24:28 2012	(r232520)
@@ -126,6 +126,12 @@ cpu_ptrace(struct thread *td, int req, v
 		return (cpu32_ptrace(td, req, addr, data));
 #endif
 
+	/* Support old values of PT_GETXSTATE and PT_SETXSTATE. */
+	if (req == PT_FIRSTMACH + 0)
+		req = PT_GETXSTATE;
+	if (req == PT_FIRSTMACH + 1)
+		req = PT_SETXSTATE;
+
 	switch (req) {
 	case PT_GETXSTATE:
 	case PT_SETXSTATE:

Modified: head/sys/amd64/include/ptrace.h
==============================================================================
--- head/sys/amd64/include/ptrace.h	Sun Mar  4 20:02:20 2012	(r232519)
+++ head/sys/amd64/include/ptrace.h	Sun Mar  4 20:24:28 2012	(r232520)
@@ -1,41 +1,6 @@
 /*-
- * Copyright (c) 1992, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)ptrace.h	8.1 (Berkeley) 6/11/93
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef _MACHINE_PTRACE_H_
-#define _MACHINE_PTRACE_H_
-
-#define	__HAVE_PTRACE_MACHDEP
-
-#define PT_GETXSTATE	(PT_FIRSTMACH + 0)
-#define PT_SETXSTATE	(PT_FIRSTMACH + 1)
-
-#endif
+#include <x86/ptrace.h>

Modified: head/sys/i386/include/ptrace.h
==============================================================================
--- head/sys/i386/include/ptrace.h	Sun Mar  4 20:02:20 2012	(r232519)
+++ head/sys/i386/include/ptrace.h	Sun Mar  4 20:24:28 2012	(r232520)
@@ -1,43 +1,6 @@
 /*-
- * Copyright (c) 1992, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)ptrace.h	8.1 (Berkeley) 6/11/93
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-#ifndef _MACHINE_PTRACE_H_
-#define _MACHINE_PTRACE_H_
-
-#define	__HAVE_PTRACE_MACHDEP
-
-#define PT_GETXMMREGS	(PT_FIRSTMACH + 0)
-#define PT_SETXMMREGS	(PT_FIRSTMACH + 1)
-#define PT_GETXSTATE	(PT_FIRSTMACH + 2)
-#define PT_SETXSTATE	(PT_FIRSTMACH + 3)
-
-#endif
+#include <x86/ptrace.h>

Modified: head/sys/pc98/include/ptrace.h
==============================================================================
--- head/sys/pc98/include/ptrace.h	Sun Mar  4 20:02:20 2012	(r232519)
+++ head/sys/pc98/include/ptrace.h	Sun Mar  4 20:24:28 2012	(r232520)
@@ -3,4 +3,4 @@
  */
 /* $FreeBSD$ */
 
-#include <i386/ptrace.h>
+#include <x86/ptrace.h>

Copied and modified: head/sys/x86/include/ptrace.h (from r232518, head/sys/amd64/include/ptrace.h)
==============================================================================
--- head/sys/amd64/include/ptrace.h	Sun Mar  4 19:22:52 2012	(r232518, copy source)
+++ head/sys/x86/include/ptrace.h	Sun Mar  4 20:24:28 2012	(r232520)
@@ -35,7 +35,14 @@
 
 #define	__HAVE_PTRACE_MACHDEP
 
-#define PT_GETXSTATE	(PT_FIRSTMACH + 0)
-#define PT_SETXSTATE	(PT_FIRSTMACH + 1)
+/*
+ * On amd64 (PT_FIRSTMACH + 0) and (PT_FIRSTMACH + 1) are old values for
+ * PT_GETXSTATE and PT_SETXSTATE.  They should not be (re)used.
+ */
+
+#define	PT_GETXMMREGS	(PT_FIRSTMACH + 0)	/* i386 only */
+#define	PT_SETXMMREGS	(PT_FIRSTMACH + 1)	/* i386 only */
+#define	PT_GETXSTATE	(PT_FIRSTMACH + 2)
+#define	PT_SETXSTATE	(PT_FIRSTMACH + 3)
 
 #endif


More information about the svn-src-all mailing list