diff options
author | Stu Grossman <grossman@cygnus> | 1992-12-15 01:45:15 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1992-12-15 01:45:15 +0000 |
commit | 01d1590babc04e0950cdcbde17a69a677322c855 (patch) | |
tree | a3ccf809c58184914e31fc7955eb632f0f1b3649 /gdb/hppah-nat.c | |
parent | 764c960db48f6b7c784495fd6e2cb92cc126fb4d (diff) | |
download | gdb-01d1590babc04e0950cdcbde17a69a677322c855.zip gdb-01d1590babc04e0950cdcbde17a69a677322c855.tar.gz gdb-01d1590babc04e0950cdcbde17a69a677322c855.tar.bz2 |
* convex-xdep.c, hppab-nat.c, i860-tdep.c, infptrace.c: Remove
decl for attach_flag, it now lives in inferior.h.
* hppa-pinsn.c: Reformat opcode tables. Add function prototypes.
Make most functions static.
* hppah-nat.c: General cleanups, remove BSD specific code (since
that all lives in hppab-nat.c).
* hppah-tdep.c (frame_chain_valid), tm-hppa.h (FRAME_CHAIN):
Change sense of test against inside_entry_file(). This fix is
from U. of Utah.
* tm-hppa.h (PUSH_DUMMY_FRAME, POP_FRAME): Use char * for 2nd arg
to read/write_register_bytes().
Diffstat (limited to 'gdb/hppah-nat.c')
-rw-r--r-- | gdb/hppah-nat.c | 67 |
1 files changed, 6 insertions, 61 deletions
diff --git a/gdb/hppah-nat.c b/gdb/hppah-nat.c index 4a85fe1..afdb14c 100644 --- a/gdb/hppah-nat.c +++ b/gdb/hppah-nat.c @@ -25,18 +25,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "defs.h" #include "inferior.h" +#include "target.h" +#include <sys/ptrace.h> -#ifndef PT_ATTACH -#define PT_ATTACH PTRACE_ATTACH -#endif -#ifndef PT_DETACH -#define PT_DETACH PTRACE_DETACH -#endif +static void fetch_register (); /* This function simply calls ptrace with the given arguments. It exists so that all calls to ptrace are isolated in this machine-dependent file. */ -#ifdef WANT_NATIVE_TARGET int call_ptrace (request, pid, addr, data) int request, pid; @@ -45,29 +41,17 @@ call_ptrace (request, pid, addr, data) { return ptrace (request, pid, addr, data, 0); } -#endif /* WANT_NATIVE_TARGET */ - -#ifdef DEBUG_PTRACE -/* For the rest of the file, use an extra level of indirection */ -/* This lets us breakpoint usefully on call_ptrace. */ -#define ptrace call_ptrace -#endif void kill_inferior () { if (inferior_pid == 0) return; - ptrace (PT_EXIT, inferior_pid, (PTRACE_ARG3_TYPE) 0, 0, 0); /* PT_EXIT = PT_KILL ? */ + ptrace (PT_EXIT, inferior_pid, (PTRACE_ARG3_TYPE) 0, 0, 0); wait ((int *)0); target_mourn_inferior (); } -#ifdef ATTACH_DETACH -/* Nonzero if we are debugging an attached process rather than - an inferior. */ -extern int attach_flag; - /* Start debugging the process whose number is PID. */ int attach (pid) @@ -95,7 +79,6 @@ detach (signal) perror_with_name ("ptrace"); attach_flag = 0; } -#endif /* ATTACH_DETACH */ /* Fetch all registers, or just one, from the child process. */ @@ -110,11 +93,6 @@ fetch_inferior_registers (regno) fetch_register (regno); } -/* Registers we shouldn't try to store. */ -#if !defined (CANNOT_STORE_REGISTER) -#define CANNOT_STORE_REGISTER(regno) 0 -#endif - /* 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). */ @@ -150,8 +128,6 @@ store_inferior_registers (regno) { for (regno = 0; regno < NUM_REGS; regno++) { - if (CANNOT_STORE_REGISTER (regno)) - continue; regaddr = register_addr (regno, offset); for (i = 0; i < REGISTER_RAW_SIZE (regno); i += sizeof(int)) { @@ -172,27 +148,7 @@ store_inferior_registers (regno) /* KERNEL_U_ADDR is the amount to subtract from u.u_ar0 to get the offset in the core file of the register values. */ -#if defined (KERNEL_U_ADDR_BSD) -/* Get kernel_u_addr using BSD-style nlist(). */ -CORE_ADDR kernel_u_addr; - -#include <a.out.gnu.h> /* For struct nlist */ - -void -_initialize_kernel_u_addr () -{ - struct nlist names[2]; - - names[0].n_un.n_name = "_u"; - names[1].n_un.n_name = NULL; - if (nlist ("/vmunix", names) == 0) - kernel_u_addr = names[0].n_value; - else - fatal ("Unable to get kernel u area address."); -} -#endif /* KERNEL_U_ADDR_BSD. */ -#if defined (KERNEL_U_ADDR_HPUX) /* Get kernel_u_addr using HPUX-style nlist(). */ CORE_ADDR kernel_u_addr; @@ -209,11 +165,12 @@ static struct hpnlist nl[] = {{ "_u", -1, }, { (char *) 0, }}; /* read the value of the u area from the hp-ux kernel */ void _initialize_kernel_u_addr () { +#if 0 struct user u; +#endif nlist ("/hp-ux", &nl); kernel_u_addr = nl[0].n_value; } -#endif /* KERNEL_U_ADDR_HPUX. */ #if !defined (offsetof) #define offsetof(TYPE, MEMBER) ((unsigned long) &((TYPE *)0)->MEMBER) @@ -227,11 +184,6 @@ void _initialize_kernel_u_addr () - KERNEL_U_ADDR #endif -/* Registers we shouldn't try to fetch. */ -#if !defined (CANNOT_FETCH_REGISTER) -#define CANNOT_FETCH_REGISTER(regno) 0 -#endif - /* Fetch one register. */ static void @@ -246,13 +198,6 @@ fetch_register (regno) /* Offset of registers within the u area. */ unsigned int offset; - if (CANNOT_FETCH_REGISTER (regno)) - { - bzero (buf, REGISTER_RAW_SIZE (regno)); /* Supply zeroes */ - supply_register (regno, buf); - return; - } - offset = U_REGS_OFFSET; regaddr = register_addr (regno, offset); |