aboutsummaryrefslogtreecommitdiff
path: root/gdb/common/linux-ptrace.h
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2011-04-26 15:36:04 +0000
committerYao Qi <yao@codesourcery.com>2011-04-26 15:36:04 +0000
commitaf96c192dc633d0a7a2380d7fbaccd43c039f38f (patch)
treee5e27f1f1e79c55dbd95f340b4452bacf7371345 /gdb/common/linux-ptrace.h
parent72b016b4ac0d7532a8f173fe3472e2e88ac49d45 (diff)
downloadgdb-af96c192dc633d0a7a2380d7fbaccd43c039f38f.zip
gdb-af96c192dc633d0a7a2380d7fbaccd43c039f38f.tar.gz
gdb-af96c192dc633d0a7a2380d7fbaccd43c039f38f.tar.bz2
gdb/
* linux-nat.c: Move common macros to ... Include linux-ptrace.h. * common/linux-ptrace.h: ... here. New. gdb/gdbserver/ * linux-low.c: Move common macros to linux-ptrace.h. Include linux-ptrace.h. * Makefile.in (linux_ptrace_h): New. (linux-low.o): Depends on linux-ptrace.h.
Diffstat (limited to 'gdb/common/linux-ptrace.h')
-rw-r--r--gdb/common/linux-ptrace.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/gdb/common/linux-ptrace.h b/gdb/common/linux-ptrace.h
new file mode 100644
index 0000000..238a6f0
--- /dev/null
+++ b/gdb/common/linux-ptrace.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2011 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
+ 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,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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, see <http://www.gnu.org/licenses/>. */
+
+#ifndef COMMON_LINUX_PTRACE_H
+#define COMMON_LINUX_PTRACE_H
+
+#include <sys/ptrace.h>
+#include <sys/wait.h> /* __WAIT */
+
+#ifndef PTRACE_GETSIGINFO
+# define PTRACE_GETSIGINFO 0x4202
+# define PTRACE_SETSIGINFO 0x4203
+#endif /* PTRACE_GETSIGINF */
+
+/* If the system headers did not provide the constants, hard-code the normal
+ values. */
+#ifndef PTRACE_EVENT_FORK
+
+#define PTRACE_SETOPTIONS 0x4200
+#define PTRACE_GETEVENTMSG 0x4201
+
+/* options set using PTRACE_SETOPTIONS */
+#define PTRACE_O_TRACESYSGOOD 0x00000001
+#define PTRACE_O_TRACEFORK 0x00000002
+#define PTRACE_O_TRACEVFORK 0x00000004
+#define PTRACE_O_TRACECLONE 0x00000008
+#define PTRACE_O_TRACEEXEC 0x00000010
+#define PTRACE_O_TRACEVFORKDONE 0x00000020
+#define PTRACE_O_TRACEEXIT 0x00000040
+
+/* Wait extended result codes for the above trace options. */
+#define PTRACE_EVENT_FORK 1
+#define PTRACE_EVENT_VFORK 2
+#define PTRACE_EVENT_CLONE 3
+#define PTRACE_EVENT_EXEC 4
+#define PTRACE_EVENT_VFORK_DONE 5
+#define PTRACE_EVENT_EXIT 6
+
+#endif /* PTRACE_EVENT_FORK */
+
+/* We can't always assume that this flag is available, but all systems
+ with the ptrace event handlers also have __WALL, so it's safe to use
+ in some contexts. */
+#ifndef __WALL
+#define __WALL 0x40000000 /* Wait for any child. */
+#endif
+
+#endif /* COMMON_LINUX_PTRACE_H */