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.
This commit is contained in:
parent
72b016b4ac
commit
af96c192dc
@ -1,3 +1,9 @@
|
||||
2011-04-26 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* linux-nat.c: Move common macros to ...
|
||||
Include linux-ptrace.h.
|
||||
* common/linux-ptrace.h: ... here. New.
|
||||
|
||||
2011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* elfread.c (elf_symfile_read): Protect dwarf2_initialize_objfile by
|
||||
|
62
gdb/common/linux-ptrace.h
Normal file
62
gdb/common/linux-ptrace.h
Normal file
@ -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 */
|
@ -1,3 +1,10 @@
|
||||
2011-04-26 Yao Qi <yao@codesourcery.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2011-04-24 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
|
||||
|
@ -337,6 +337,8 @@ server_h = $(srcdir)/server.h $(regcache_h) config.h $(srcdir)/target.h \
|
||||
|
||||
linux_low_h = $(srcdir)/linux-low.h
|
||||
|
||||
linux_ptrace_h = $(srcdir)/../common/linux-ptrace.h
|
||||
|
||||
lynx_low_h = $(srcdir)/lynx-low.h $(srcdir)/server.h
|
||||
|
||||
nto_low_h = $(srcdir)/nto-low.h
|
||||
@ -408,7 +410,7 @@ i386-low.o: i386-low.c $(i386_low_h) $(server_h) $(target_h)
|
||||
|
||||
i387-fp.o: i387-fp.c $(server_h)
|
||||
|
||||
linux-low.o: linux-low.c $(linux_low_h) $(server_h)
|
||||
linux-low.o: linux-low.c $(linux_low_h) $(linux_ptrace_h) $(server_h)
|
||||
$(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $< @USE_THREAD_DB@
|
||||
|
||||
linux-arm-low.o: linux-arm-low.c $(linux_low_h) $(server_h) \
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <stdio.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/ptrace.h>
|
||||
#include "linux-ptrace.h"
|
||||
#include <signal.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <fcntl.h>
|
||||
@ -52,48 +53,10 @@
|
||||
#define SPUFS_MAGIC 0x23c9b64e
|
||||
#endif
|
||||
|
||||
#ifndef PTRACE_GETSIGINFO
|
||||
# define PTRACE_GETSIGINFO 0x4202
|
||||
# define PTRACE_SETSIGINFO 0x4203
|
||||
#endif
|
||||
|
||||
#ifndef O_LARGEFILE
|
||||
#define O_LARGEFILE 0
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
#ifndef W_STOPCODE
|
||||
#define W_STOPCODE(sig) ((sig) << 8 | 0x7f)
|
||||
#endif
|
||||
|
@ -30,6 +30,7 @@
|
||||
#endif
|
||||
#include <sys/ptrace.h>
|
||||
#include "linux-nat.h"
|
||||
#include "linux-ptrace.h"
|
||||
#include "linux-fork.h"
|
||||
#include "gdbthread.h"
|
||||
#include "gdbcmd.h"
|
||||
@ -160,49 +161,11 @@ blocked. */
|
||||
#define O_LARGEFILE 0
|
||||
#endif
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* Unlike other extended result codes, WSTOPSIG (status) on
|
||||
PTRACE_O_TRACESYSGOOD syscall events doesn't return SIGTRAP, but
|
||||
instead SIGTRAP with bit 7 set. */
|
||||
#define SYSCALL_SIGTRAP (SIGTRAP | 0x80)
|
||||
|
||||
/* 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
|
||||
here. */
|
||||
#ifndef __WALL
|
||||
#define __WALL 0x40000000 /* Wait for any child. */
|
||||
#endif
|
||||
|
||||
#ifndef PTRACE_GETSIGINFO
|
||||
# define PTRACE_GETSIGINFO 0x4202
|
||||
# define PTRACE_SETSIGINFO 0x4203
|
||||
#endif
|
||||
|
||||
/* The single-threaded native GNU/Linux target_ops. We save a pointer for
|
||||
the use of the multi-threaded target. */
|
||||
static struct target_ops *linux_ops;
|
||||
|
Loading…
x
Reference in New Issue
Block a user