/* Native-dependent code for GNU/Linux i386.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of GDB.
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
-#include "i386-nat.h"
#include "inferior.h"
#include "gdbcore.h"
#include "regcache.h"
-#include "regset.h"
-#include "target.h"
-#include "linux-nat.h"
-#include "nat/linux-btrace.h"
-#include "btrace.h"
-
-#include "gdb_assert.h"
-#include <string.h>
#include "elf/common.h"
+#include "nat/gdb_ptrace.h"
#include <sys/uio.h>
-#include <sys/ptrace.h>
-#include <sys/user.h>
-#include <sys/procfs.h>
-
-#ifdef HAVE_SYS_REG_H
-#include <sys/reg.h>
-#endif
-
-#ifndef ORIG_EAX
-#define ORIG_EAX -1
-#endif
-
-#ifdef HAVE_SYS_DEBUGREG_H
-#include <sys/debugreg.h>
-#endif
-
-/* Prototypes for supply_gregset etc. */
#include "gregset.h"
+#include "gdb_proc_service.h"
+#include "i386-linux-nat.h"
#include "i387-tdep.h"
#include "i386-tdep.h"
#include "i386-linux-tdep.h"
+#include "x86-xstate.h"
-/* Defines ps_err_e, struct ps_prochandle. */
-#include "gdb_proc_service.h"
-
-#include "i386-xstate.h"
-
+#include "linux-nat.h"
#include "x86-linux-nat.h"
+#include "nat/linux-ptrace.h"
/* The register sets used in GNU/Linux ELF core-dumps are identical to
the register sets in `struct user' that is used for a.out
static int
fetch_xstateregs (struct regcache *regcache, int tid)
{
- char xstateregs[I386_XSTATE_MAX_SIZE];
+ char xstateregs[X86_XSTATE_MAX_SIZE];
struct iovec iov;
- if (!have_ptrace_getregset)
+ if (have_ptrace_getregset != TRIBOOL_TRUE)
return 0;
iov.iov_base = xstateregs;
static int
store_xstateregs (const struct regcache *regcache, int tid, int regno)
{
- char xstateregs[I386_XSTATE_MAX_SIZE];
+ char xstateregs[X86_XSTATE_MAX_SIZE];
struct iovec iov;
- if (!have_ptrace_getregset)
+ if (have_ptrace_getregset != TRIBOOL_TRUE)
return 0;
iov.iov_base = xstateregs;
i386_linux_resume (struct target_ops *ops,
ptid_t ptid, int step, enum gdb_signal signal)
{
- int pid = ptid_get_pid (ptid);
-
+ int pid = ptid_get_lwp (ptid);
int request;
if (catch_syscall_enabled () > 0)
if (step)
{
- struct regcache *regcache = get_thread_regcache (pid_to_ptid (pid));
+ struct regcache *regcache = get_thread_regcache (ptid);
struct gdbarch *gdbarch = get_regcache_arch (regcache);
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
ULONGEST pc;