diff options
author | Yao Qi <yao@codesourcery.com> | 2011-04-26 15:36:04 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2011-04-26 15:36:04 +0000 |
commit | af96c192dc633d0a7a2380d7fbaccd43c039f38f (patch) | |
tree | e5e27f1f1e79c55dbd95f340b4452bacf7371345 /gdb/common | |
parent | 72b016b4ac0d7532a8f173fe3472e2e88ac49d45 (diff) | |
download | gdb-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')
-rw-r--r-- | gdb/common/linux-ptrace.h | 62 |
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 */ |