Fix ARI warning in stack.c (return_command).
[deliverable/binutils-gdb.git] / gdb / gdb_ptrace.h
index 62a9949d41390f396ac13d698dc39cb5ce5788b0..a96968155984e533042570a276b945b5cf91d8dc 100644 (file)
@@ -1,12 +1,12 @@
 /* Portable <sys/ptrace.h>
 
 /* Portable <sys/ptrace.h>
 
-   Copyright 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -15,9 +15,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
    
 #ifndef GDB_PTRACE_H
 #define GDB_PTRACE_H
    
 #ifndef GDB_PTRACE_H
 #define GDB_PTRACE_H
 /* No need to include <unistd.h> since it's already included by
    "defs.h".  */
 
 /* No need to include <unistd.h> since it's already included by
    "defs.h".  */
 
+#ifndef PT_TRACE_ME
+# define PT_TRACE_ME   0
+#endif
+
 #ifndef PT_READ_I
 # define PT_READ_I     1       /* Read word in child's I space.  */
 #endif
 #ifndef PT_READ_I
 # define PT_READ_I     1       /* Read word in child's I space.  */
 #endif
@@ -92,8 +94,8 @@
 
 /* Not all systems support attaching and detaching.   */
 
 
 /* Not all systems support attaching and detaching.   */
 
-#ifndef PT_ATTCH
-# ifdef PTRACE_DETACH
+#ifndef PT_ATTACH
+# ifdef PTRACE_ATTACH
 #  define PT_ATTACH PTRACE_ATTACH
 # endif
 #endif
 #  define PT_ATTACH PTRACE_ATTACH
 # endif
 #endif
 # endif
 #endif
 
 # endif
 #endif
 
+/* For systems such as HP/UX that do not provide PT_SYSCALL, define it
+   here as an alias for PT_CONTINUE.  This is what the PT_SYSCALL
+   request is expected to do, in addition to stopping when entering/
+   exiting a system call.  Chances are, if the system supports system
+   call tracing, enabling this feature is probably done separately;
+   and there is probably no special request that we would be required
+   to use when resuming the execution of our program.  */
+#ifndef PT_SYSCALL
+# ifdef PTRACE_SYSCALL
+#  define PT_SYSCALL PTRACE_SYSCALL
+#else
+#  define PT_SYSCALL PT_CONTINUE
+# endif
+#endif
+
 /* Some systems, in particular DEC OSF/1, Digital Unix, Compaq Tru64
    or whatever it's called these days, don't provide a prototype for
    ptrace.  Provide one to silence compiler warnings.  */
 /* Some systems, in particular DEC OSF/1, Digital Unix, Compaq Tru64
    or whatever it's called these days, don't provide a prototype for
    ptrace.  Provide one to silence compiler warnings.  */
+
 #ifndef HAVE_DECL_PTRACE
 extern PTRACE_TYPE_RET ptrace();
 #endif
 
 #ifndef HAVE_DECL_PTRACE
 extern PTRACE_TYPE_RET ptrace();
 #endif
 
+/* Some systems, at least AIX and HP-UX have a ptrace with five
+   arguments.  Since we never use the fifth argument, define a ptrace
+   macro that calls the real ptrace with the last argument set to
+   zero.  */
+
+#ifdef PTRACE_TYPE_ARG5
+# ifdef HAVE_PTRACE64
+#  define ptrace(request, pid, addr, data) \
+          ptrace64 (request, pid, addr, data, 0)
+#  undef PTRACE_TYPE_ARG3
+#  define PTRACE_TYPE_ARG3 long long
+# else
+#  define ptrace(request, pid, addr, data) \
+          ptrace (request, pid, addr, data, 0)
+# endif
+#endif
+
 #endif /* gdb_ptrace.h */
 #endif /* gdb_ptrace.h */
This page took 0.027581 seconds and 4 git commands to generate.