aboutsummaryrefslogtreecommitdiff
path: root/devel/gdb66/files/kvm-fbsd-sparc64.h
diff options
context:
space:
mode:
Diffstat (limited to 'devel/gdb66/files/kvm-fbsd-sparc64.h')
-rw-r--r--devel/gdb66/files/kvm-fbsd-sparc64.h98
1 files changed, 0 insertions, 98 deletions
diff --git a/devel/gdb66/files/kvm-fbsd-sparc64.h b/devel/gdb66/files/kvm-fbsd-sparc64.h
deleted file mode 100644
index 48c4be4fc32d..000000000000
--- a/devel/gdb66/files/kvm-fbsd-sparc64.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Kernel core dump functions below target vector, for GDB on FreeBSD/sparc64.
- Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1994, 1995
- 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 2 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, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-__FBSDID("$FreeBSD$");
-
-#include "sparc-tdep.h"
-
-#define SPARC_INTREG_SIZE 8
-
-static void
-fetch_kcore_registers (struct pcb *pcbp)
-{
- static struct frame top;
- CORE_ADDR f_addr;
- int i;
-
- /* Get the register values out of the sys pcb and store them where
- `read_register' will find them. */
- /*
- * XXX many registers aren't available.
- * XXX for the non-core case, the registers are stale - they are for
- * the last context switch to the debugger.
- * XXX do something with the floating-point registers?
- */
- regcache_raw_supply (current_regcache, SP_REGNUM, &pcbp->pcb_sp);
- regcache_raw_supply (current_regcache, PC_REGNUM, &pcbp->pcb_pc);
- f_addr = extract_unsigned_integer (&pcbp->pcb_sp, SPARC_INTREG_SIZE);
- /* Load the previous frame by hand (XXX) and supply it. */
- read_memory (f_addr + SPOFF, (char *)&top, sizeof (top));
- for (i = 0; i < 8; i++)
- regcache_raw_supply (current_regcache, i + SPARC_L0_REGNUM, &top.fr_local[i]);
- for (i = 0; i < 8; i++)
- regcache_raw_supply (current_regcache, i + SPARC_I0_REGNUM, &top.fr_in[i]);
-}
-
-CORE_ADDR
-fbsd_kern_frame_saved_pc (struct frame_info *fi)
-{
- struct minimal_symbol *sym;
- CORE_ADDR frame, pc_addr, pc;
- char *buf;
-
- buf = alloca (MAX_REGISTER_SIZE); //or use DEPRECATED_MAX_REGISTER_RAW_SIZE
- /* XXX: duplicates fi->extra_info->bottom. */
- frame = (get_next_frame (fi) != NULL) ? get_frame_base (get_next_frame (fi)) : read_sp ();
- pc_addr = frame + offsetof (struct frame, fr_in[7]);
-
-#define READ_PC(pc, a, b) do { \
- read_memory (a, b, SPARC_INTREG_SIZE); \
- pc = extract_unsigned_integer (b, SPARC_INTREG_SIZE); \
-} while (0)
-
- READ_PC (pc, pc_addr, buf);
-
- sym = lookup_minimal_symbol_by_pc (pc);
- if (sym != NULL)
- {
- if (strncmp (DEPRECATED_SYMBOL_NAME (sym), "tl0_", 4) == 0 ||
- strcmp (DEPRECATED_SYMBOL_NAME (sym), "btext") == 0 ||
- strcmp (DEPRECATED_SYMBOL_NAME (sym), "mp_startup") == 0 ||
- strcmp (DEPRECATED_SYMBOL_NAME (sym), "fork_trampoline") == 0)
- {
- /*
- * Ugly kluge: user space addresses aren't separated from kernel
- * ones by range; if encountering a trap from user space, just
- * return a 0 to stop the trace.
- * Do the same for entry points of kernel processes to avoid
- * printing garbage.
- */
- pc = 0;
- }
- if (strncmp (DEPRECATED_SYMBOL_NAME (sym), "tl1_", 4) == 0)
- {
- pc_addr = get_frame_base (fi) + sizeof (struct frame) +
- offsetof (struct trapframe, tf_tpc);
- READ_PC (pc, pc_addr, buf);
- }
- }
- return (pc);
-}