summaryrefslogtreecommitdiff
path: root/devel/gdb/files/commit-b268007c68
diff options
context:
space:
mode:
Diffstat (limited to 'devel/gdb/files/commit-b268007c68')
-rw-r--r--devel/gdb/files/commit-b268007c68191
1 files changed, 0 insertions, 191 deletions
diff --git a/devel/gdb/files/commit-b268007c68 b/devel/gdb/files/commit-b268007c68
index ea8891cf3b2b..86eb3c8971a8 100644
--- a/devel/gdb/files/commit-b268007c68
+++ b/devel/gdb/files/commit-b268007c68
@@ -189,194 +189,3 @@ index 0000000000..0472df88f4
+ t->to_store_registers = mips_fbsd_store_inferior_registers;
+ fbsd_nat_add_target (t);
+}
-commit acde9e8dc95a053909e137c1fcda94c719eb8cc1
-Author: John Baldwin <jhb@FreeBSD.org>
-Date: Wed Jan 4 09:41:58 2017 -0800
-
- Add native target for FreeBSD/mips.
-
- This supports the o32 and n64 ABIs.
-
- gdb/ChangeLog:
-
- * Makefile.in (ALLDEPFILES): Add mips-fbsd-nat.c.
- * NEWS: Mention new FreeBSD/mips native configuration.
- * config/mips/fbsd.mh: New file.
- * configure.host: Add mips*-*-freebsd*.
- * mips-fbsd-nat.c: New file.
-
-diff --git gdb/Makefile.in gdb/Makefile.in
-index 300c2cb702..433dd1203a 100644
---- gdb/Makefile.in
-+++ gdb/Makefile.in
-@@ -1725,6 +1725,7 @@ ALLDEPFILES = \
- m88k-tdep.c m88kbsd-nat.c \
- microblaze-tdep.c microblaze-linux-tdep.c \
- mingw-hdep.c common/mingw-strerror.c \
-+ mips-fbsd-nat.c \
- mips-fbsd-tdep.c \
- mips-linux-nat.c mips-linux-tdep.c \
- mips-sde-tdep.c \
-diff --git gdb/config/mips/fbsd.mh gdb/config/mips/fbsd.mh
-new file mode 100644
-index 0000000000..f433347a20
---- /dev/null
-+++ gdb/config/mips/fbsd.mh
-@@ -0,0 +1,3 @@
-+# Host: FreeBSD/mips
-+NATDEPFILES= fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o
-+HAVE_NATIVE_GCORE_HOST = 1
-diff --git gdb/configure.host gdb/configure.host
-index ef265ebe29..c45f61dbba 100644
---- gdb/configure.host
-+++ gdb/configure.host
-@@ -129,6 +129,7 @@ m88*-*-openbsd*) gdb_host=obsd ;;
- mips*-*-linux*) gdb_host=linux ;;
- mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
- gdb_host=nbsd ;;
-+mips*-*-freebsd*) gdb_host=fbsd ;;
- mips64*-*-openbsd*) gdb_host=obsd64 ;;
-
- powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
-diff --git gdb/mips-fbsd-nat.c gdb/mips-fbsd-nat.c
-new file mode 100644
-index 0000000000..0472df88f4
---- /dev/null
-+++ gdb/mips-fbsd-nat.c
-@@ -0,0 +1,136 @@
-+/* Native-dependent code for FreeBSD/mips.
-+
-+ Copyright (C) 2017 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/>. */
-+
-+#include "defs.h"
-+#include "inferior.h"
-+#include "regcache.h"
-+#include "target.h"
-+
-+#include <sys/types.h>
-+#include <sys/ptrace.h>
-+#include <machine/reg.h>
-+
-+#include "fbsd-nat.h"
-+#include "mips-tdep.h"
-+#include "mips-fbsd-tdep.h"
-+#include "inf-ptrace.h"
-+
-+/* Determine if PT_GETREGS fetches this register. */
-+
-+static bool
-+getregs_supplies (struct gdbarch *gdbarch, int regnum)
-+{
-+ return (regnum >= MIPS_ZERO_REGNUM
-+ && regnum <= gdbarch_pc_regnum (gdbarch));
-+}
-+
-+/* Fetch register REGNUM from the inferior. If REGNUM is -1, do this
-+ for all registers. */
-+
-+static void
-+mips_fbsd_fetch_inferior_registers (struct target_ops *ops,
-+ struct regcache *regcache, int regnum)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ if (regnum == -1 || getregs_supplies (gdbarch, regnum))
-+ {
-+ struct reg regs;
-+
-+ if (ptrace (PT_GETREGS, get_ptrace_pid (inferior_ptid),
-+ (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-+ perror_with_name (_("Couldn't get registers"));
-+
-+ mips_fbsd_supply_gregs (regcache, regnum, &regs, sizeof (register_t));
-+ if (regnum != -1)
-+ return;
-+ }
-+
-+ if (regnum == -1
-+ || regnum >= gdbarch_fp0_regnum (get_regcache_arch (regcache)))
-+ {
-+ struct fpreg fpregs;
-+
-+ if (ptrace (PT_GETFPREGS, get_ptrace_pid (inferior_ptid),
-+ (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
-+ perror_with_name (_("Couldn't get floating point status"));
-+
-+ mips_fbsd_supply_fpregs (regcache, regnum, &fpregs,
-+ sizeof (f_register_t));
-+ }
-+}
-+
-+/* Store register REGNUM back into the inferior. If REGNUM is -1, do
-+ this for all registers. */
-+
-+static void
-+mips_fbsd_store_inferior_registers (struct target_ops *ops,
-+ struct regcache *regcache, int regnum)
-+{
-+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
-+ if (regnum == -1 || getregs_supplies (gdbarch, regnum))
-+ {
-+ struct reg regs;
-+
-+ if (ptrace (PT_GETREGS, get_ptrace_pid (inferior_ptid),
-+ (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-+ perror_with_name (_("Couldn't get registers"));
-+
-+ mips_fbsd_collect_gregs (regcache, regnum, (char *) &regs,
-+ sizeof (register_t));
-+
-+ if (ptrace (PT_SETREGS, get_ptrace_pid (inferior_ptid),
-+ (PTRACE_TYPE_ARG3) &regs, 0) == -1)
-+ perror_with_name (_("Couldn't write registers"));
-+
-+ if (regnum != -1)
-+ return;
-+ }
-+
-+ if (regnum == -1
-+ || regnum >= gdbarch_fp0_regnum (get_regcache_arch (regcache)))
-+ {
-+ struct fpreg fpregs;
-+
-+ if (ptrace (PT_GETFPREGS, get_ptrace_pid (inferior_ptid),
-+ (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
-+ perror_with_name (_("Couldn't get floating point status"));
-+
-+ mips_fbsd_collect_fpregs (regcache, regnum, (char *) &fpregs,
-+ sizeof (f_register_t));
-+
-+ if (ptrace (PT_SETFPREGS, get_ptrace_pid (inferior_ptid),
-+ (PTRACE_TYPE_ARG3) &fpregs, 0) == -1)
-+ perror_with_name (_("Couldn't write floating point status"));
-+ }
-+}
-+
-+
-+/* Provide a prototype to silence -Wmissing-prototypes. */
-+void _initialize_mips_fbsd_nat (void);
-+
-+void
-+_initialize_mips_fbsd_nat (void)
-+{
-+ struct target_ops *t;
-+
-+ t = inf_ptrace_target ();
-+ t->to_fetch_registers = mips_fbsd_fetch_inferior_registers;
-+ t->to_store_registers = mips_fbsd_store_inferior_registers;
-+ fbsd_nat_add_target (t);
-+}