diff options
author | Michael Chastain <mec@google.com> | 2003-12-18 18:22:35 +0000 |
---|---|---|
committer | Michael Chastain <mec@google.com> | 2003-12-18 18:22:35 +0000 |
commit | e584bbaf70a5e8304f3c2fe6f4cc0e66b04926ba (patch) | |
tree | 1e5812fa27aaa540a6599dd0d4a25649c5cf4d37 /gdb | |
parent | 19e7825f0452aedbdbeedbaa1fec3ca7ed16c22b (diff) | |
download | gdb-e584bbaf70a5e8304f3c2fe6f4cc0e66b04926ba.zip gdb-e584bbaf70a5e8304f3c2fe6f4cc0e66b04926ba.tar.gz gdb-e584bbaf70a5e8304f3c2fe6f4cc0e66b04926ba.tar.bz2 |
2003-12-18 Michael Chastain <mec.gnu@mindspring.com>
* hppam3-nat.c: Delete obsolete file.
* hppab-nat.c: Delete obsolete file.
* Makefile.in: Remove references.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/Makefile.in | 5 | ||||
-rw-r--r-- | gdb/hppab-nat.c | 214 | ||||
-rw-r--r-- | gdb/hppam3-nat.c | 143 |
4 files changed, 7 insertions, 361 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 562ca3c..31a47c9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2003-12-18 Michael Chastain <mec.gnu@mindspring.com> + + * hppam3-nat.c: Delete obsolete file. + * hppab-nat.c: Delete obsolete file. + * Makefile.in: Remove references. + 2003-12-17 Jeff Johnston <jjohnstn@redhat.com> * symtab.c (decode_line_spec): Change call to decode_line_1. diff --git a/gdb/Makefile.in b/gdb/Makefile.in index e281f3b..4f8fa04 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -1273,7 +1273,7 @@ ALLDEPFILES = \ glibc-tdep.c \ go32-nat.c h8300-tdep.c \ hppa-tdep.c hppa-hpux-tdep.c \ - hppab-nat.c hppah-nat.c hpread.c \ + hppah-nat.c hpread.c \ i386-tdep.c i386b-nat.c i386v-nat.c i386-linux-nat.c \ i386v4-nat.c i386ly-tdep.c i386-cygwin-tdep.c \ i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c i386fbsd-tdep.c \ @@ -1827,13 +1827,10 @@ h8300-tdep.o: h8300-tdep.c $(defs_h) $(value_h) $(inferior_h) $(symfile_h) \ $(gdb_assert_h) $(dis_asm_h) hpacc-abi.o: hpacc-abi.c $(defs_h) $(value_h) $(gdb_regex_h) $(gdb_string_h) \ $(gdbtypes_h) $(gdbcore_h) $(cp_abi_h) -hppab-nat.o: hppab-nat.c $(defs_h) $(inferior_h) $(target_h) $(regcache_h) hppah-nat.o: hppah-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \ $(gdb_wait_h) $(regcache_h) $(gdb_string_h) hppa-hpux-tdep.o: hppa-hpux-tdep.c $(defs_h) $(arch_utils_h) $(gdbcore_h) \ $(osabi_h) $(gdb_string_h) $(frame_h) -hppam3-nat.o: hppam3-nat.c $(defs_h) $(inferior_h) $(floatformat_h) \ - $(regcache_h) hppa-tdep.o: hppa-tdep.c $(defs_h) $(frame_h) $(bfd_h) $(inferior_h) \ $(value_h) $(regcache_h) $(completer_h) $(language_h) $(osabi_h) \ $(gdb_assert_h) $(infttrace_h) $(symtab_h) $(infcall_h) $(dis_asm_h) \ diff --git a/gdb/hppab-nat.c b/gdb/hppab-nat.c deleted file mode 100644 index 416db66..0000000 --- a/gdb/hppab-nat.c +++ /dev/null @@ -1,214 +0,0 @@ -/* Machine-dependent hooks for the unix child process stratum. This - code is for the HP PA-RISC cpu. - - Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1998, - 1999, 2000, 2001 Free Software Foundation, Inc. - - Contributed by the Center for Software Science at the - University of Utah (pa-gdb-bugs@cs.utah.edu). - - 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. */ - -#include "defs.h" -#include "inferior.h" -#include "target.h" -#include "regcache.h" -#include <sys/ptrace.h> - -/* Use an extra level of indirection for ptrace calls. - This lets us breakpoint usefully on call_ptrace. It also - allows us to pass an extra argument to ptrace without - using an ANSI-C specific macro. */ - -#define ptrace call_ptrace - -#if !defined (offsetof) -#define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) -#endif - -/* U_REGS_OFFSET is the offset of the registers within the u area. */ -#if !defined (U_REGS_OFFSET) -#define U_REGS_OFFSET \ - ptrace (PT_READ_U, PIDGET (inferior_ptid), \ - (PTRACE_ARG3_TYPE) (offsetof (struct user, u_ar0)), 0) \ - - KERNEL_U_ADDR -#endif - -/* Fetch one register. */ - -static void -fetch_register (int regno) -{ - unsigned int regaddr; - char buf[MAX_REGISTER_SIZE]; - int i; - - /* Offset of registers within the u area. */ - unsigned int offset; - - offset = U_REGS_OFFSET; - - regaddr = register_addr (regno, offset); - for (i = 0; i < DEPRECATED_REGISTER_RAW_SIZE (regno); i += sizeof (int)) - { - errno = 0; - *(int *) &buf[i] = ptrace (PT_RUREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) regaddr, 0); - regaddr += sizeof (int); - if (errno != 0) - { - /* Warning, not error, in case we are attached; sometimes the - kernel doesn't let us at the registers. */ - char *err = safe_strerror (errno); - char *msg = alloca (strlen (err) + 128); - sprintf (msg, "reading register %s: %s", REGISTER_NAME (regno), err); - warning (msg); - goto error_exit; - } - } - supply_register (regno, buf); -error_exit:; -} - -/* Fetch all registers, or just one, from the child process. */ - -void -fetch_inferior_registers (int regno) -{ - if (regno == -1) - for (regno = 0; regno < NUM_REGS; regno++) - fetch_register (regno); - else - fetch_register (regno); -} - -/* Store our register values back into the inferior. - If REGNO is -1, do this for all registers. - Otherwise, REGNO specifies which register (so we can save time). */ - -void -store_inferior_registers (int regno) -{ - unsigned int regaddr; - char buf[80]; - int i; - unsigned int offset = U_REGS_OFFSET; - int scratch; - - if (regno >= 0) - { - if (CANNOT_STORE_REGISTER (regno)) - return; - regaddr = register_addr (regno, offset); - errno = 0; - if (regno == PCOQ_HEAD_REGNUM || regno == PCOQ_TAIL_REGNUM) - { - scratch = *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (regno)] | 0x3; - ptrace (PT_WUREGS, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) regaddr, - scratch); - if (errno != 0) - { - /* Error, even if attached. Failing to write these two - registers is pretty serious. */ - sprintf (buf, "writing register number %d", regno); - perror_with_name (buf); - } - } - else - for (i = 0; i < DEPRECATED_REGISTER_RAW_SIZE (regno); i += sizeof (int)) - { - errno = 0; - ptrace (PT_WUREGS, PIDGET (inferior_ptid), - (PTRACE_ARG3_TYPE) regaddr, - *(int *) &deprecated_registers[DEPRECATED_REGISTER_BYTE (regno) + i]); - if (errno != 0) - { - /* Warning, not error, in case we are attached; sometimes the - kernel doesn't let us at the registers. */ - char *err = safe_strerror (errno); - char *msg = alloca (strlen (err) + 128); - sprintf (msg, "writing register %s: %s", - REGISTER_NAME (regno), err); - warning (msg); - return; - } - regaddr += sizeof (int); - } - } - else - for (regno = 0; regno < NUM_REGS; regno++) - store_inferior_registers (regno); -} - -/* PT_PROT is specific to the PA BSD kernel and isn't documented - anywhere (except here). - - PT_PROT allows one to enable/disable the data memory break bit - for pages of memory in an inferior process. This bit is used - to cause "Data memory break traps" to occur when the appropriate - page is written to. - - The arguments are as follows: - - PT_PROT -- The ptrace action to perform. - - INFERIOR_PID -- The pid of the process who's page table entries - will be modified. - - PT_ARGS -- The *address* of a 3 word block of memory which has - additional information: - - word 0 -- The start address to watch. This should be a page-aligned - address. - - word 1 -- The ending address to watch. Again, this should be a - page aligned address. - - word 2 -- Nonzero to enable the data memory break bit on the - given address range or zero to disable the data memory break - bit on the given address range. - - This call may fail if the given addresses are not valid in the inferior - process. This most often happens when restarting a program which - has watchpoints inserted on heap or stack memory. */ - -#define PT_PROT 21 - -int -hppa_set_watchpoint (int addr, int len, int flag) -{ - int pt_args[3]; - pt_args[0] = addr; - pt_args[1] = addr + len; - pt_args[2] = flag; - - /* Mask off the lower 12 bits since we want to work on a page basis. */ - pt_args[0] >>= 12; - pt_args[1] >>= 12; - - /* Rounding adjustments. */ - pt_args[1] -= pt_args[0]; - pt_args[1]++; - - /* Put the lower 12 bits back as zero. */ - pt_args[0] <<= 12; - pt_args[1] <<= 12; - - /* Do it. */ - return ptrace (PT_PROT, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) pt_args, 0); -} diff --git a/gdb/hppam3-nat.c b/gdb/hppam3-nat.c deleted file mode 100644 index cbee288..0000000 --- a/gdb/hppam3-nat.c +++ /dev/null @@ -1,143 +0,0 @@ -/* Low level interface to HP800 running mach 4.0 for GDB, the GNU - debugger. - - Copyright 1995, 2000, 2001, 2003 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. */ - -#include "defs.h" -#include "inferior.h" -#include "floatformat.h" -#include "regcache.h" - -#include <stdio.h> - -#include <mach.h> -#include <mach/message.h> -#include <mach/exception.h> -#include <mach_error.h> - -#include <target.h> - -/* - * Fetch inferiors registers for gdb. - * REGNO specifies which (as gdb views it) register, -1 for all. - */ - -void -fetch_inferior_registers (int regno) -{ - kern_return_t ret; - thread_state_data_t state; - unsigned int stateCnt = TRACE_FLAVOR_SIZE; - int index; - - if (!MACH_PORT_VALID (current_thread)) - error ("fetch inferior registers: Invalid thread"); - - if (must_suspend_thread) - setup_thread (current_thread, 1); - - ret = thread_get_state (current_thread, - TRACE_FLAVOR, - state, - &stateCnt); - - if (ret != KERN_SUCCESS) - warning ("fetch_inferior_registers: %s ", - mach_error_string (ret)); - else - { - for (index = 0; index < NUM_REGS; index++) - supply_register (index, (void *) &state[index]); - } - - if (must_suspend_thread) - setup_thread (current_thread, 0); -} - -/* Store our register values back into the inferior. - * If REGNO is -1, do this for all registers. - * Otherwise, REGNO specifies which register - * - * On mach3 all registers are always saved in one call. - */ -void -store_inferior_registers (int regno) -{ - kern_return_t ret; - thread_state_data_t state; - unsigned int stateCnt = TRACE_FLAVOR_SIZE; - int index; - - if (!MACH_PORT_VALID (current_thread)) - error ("store inferior registers: Invalid thread"); - - if (must_suspend_thread) - setup_thread (current_thread, 1); - - /* Fetch the state of the current thread */ - ret = thread_get_state (current_thread, - TRACE_FLAVOR, - state, - &stateCnt); - - if (ret != KERN_SUCCESS) - { - warning ("store_inferior_registers (get): %s", - mach_error_string (ret)); - if (must_suspend_thread) - setup_thread (current_thread, 0); - return; - } - - - /* move gdb's registers to thread's state - - * Since we save all registers anyway, save the ones - * that gdb thinks are valid (e.g. ignore the regno - * parameter) - */ - if (regno > 0 && regno < NUM_REGS) - { - memcpy (&state[regno], &deprecated_registers[DEPRECATED_REGISTER_BYTE (regno)], - DEPRECATED_REGISTER_RAW_SIZE (regno)); - } - else - { - for (index = 0; index < NUM_REGS; index++) - memcpy (&state[index], &deprecated_registers[DEPRECATED_REGISTER_BYTE (index)], - DEPRECATED_REGISTER_RAW_SIZE (index)); -/* state[index] = deprecated_registers[DEPRECATED_REGISTER_BYTE (index)]; */ - - } - - /* Write gdb's current view of register to the thread - */ - ret = thread_set_state (current_thread, - TRACE_FLAVOR, - state, - TRACE_FLAVOR_SIZE); - - if (ret != KERN_SUCCESS) - warning ("store_inferior_registers (set): %s", - mach_error_string (ret)); - - if (must_suspend_thread) - setup_thread (current_thread, 0); -} |