From bd2fa4f6c95dc2ced5e7fa5a102465eb7be18478 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Fri, 8 Dec 2000 19:46:08 +0000 Subject: * gdbserver/low-hppabsd.c (buf2, environ, quit, quit_flag): Removed unused variables and declarations. * gdbserver/low-linux.c (buf2, environ, query, quit, quit_flag): Likewise. * gdbserver/low-nbsd.c (buf2, environ, quit, quit_flag): Likewise. * gdbserver/low-sparc.c (buf2, environ, query, quit, quit_flag): Likewise. * gdbserver/low-sun.c (buf2, environ, query, quit, quit_flag): Likewise. * gdbserver/low-hppabsd.c, gdbserver/low-linux.c, gdbserver/low-nbsd.c, gdbserver/low-sparc.c, gdbserver/low-sun3.c (create_inferior): Update comment. * gdbserver/low-nbsd.c (initialize_arch, fetch_inferior_registers, store_inferior_registers): Provide implementations for the m68k and ns32k. * config/m68k/nbsd.mt (GDBSERVER_DEPFILES): Add low-nbsd.o * config/ns32k/nbsd.mt (GDBSERVER_DEPFILES): Likewise. * configure.tgt (m68*-*-netbsd*, ns32k-*-netbsd*): Add gdbserver to configdirs. ------------------------------------------------------------------- --- gdb/gdbserver/low-hppabsd.c | 14 +--- gdb/gdbserver/low-linux.c | 14 +--- gdb/gdbserver/low-nbsd.c | 156 ++++++++++++++++++++++++++++++++++++++++---- gdb/gdbserver/low-sparc.c | 14 +--- gdb/gdbserver/low-sun3.c | 14 +--- 5 files changed, 153 insertions(+), 59 deletions(-) (limited to 'gdb/gdbserver') diff --git a/gdb/gdbserver/low-hppabsd.c b/gdb/gdbserver/low-hppabsd.c index e85c0b2..d031e30 100644 --- a/gdb/gdbserver/low-hppabsd.c +++ b/gdb/gdbserver/low-hppabsd.c @@ -33,29 +33,19 @@ #include /***************Begin MY defs*********************/ -int quit_flag = 0; static char my_registers[REGISTER_BYTES]; char *registers = my_registers; - -/* Index within `registers' of the first byte of the space for - register N. */ - - -char buf2[MAX_REGISTER_RAW_SIZE]; /***************End MY defs*********************/ #include #include -extern char **environ; extern int errno; extern int inferior_pid; -void quit (), perror_with_name (); -int query (); +void perror_with_name (); /* Start an inferior process and returns its pid. - ALLARGS is a vector of program-name and args. - ENV is the environment vector to pass. */ + ALLARGS is a vector of program-name and args. */ int create_inferior (char *program, char **allargs) diff --git a/gdb/gdbserver/low-linux.c b/gdb/gdbserver/low-linux.c index 7df5157..c718c4e 100644 --- a/gdb/gdbserver/low-linux.c +++ b/gdb/gdbserver/low-linux.c @@ -33,15 +33,8 @@ #include /***************Begin MY defs*********************/ -int quit_flag = 0; static char my_registers[REGISTER_BYTES]; char *registers = my_registers; - -/* Index within `registers' of the first byte of the space for - register N. */ - - -char buf2[MAX_REGISTER_RAW_SIZE]; /***************End MY defs*********************/ #ifdef HAVE_SYS_REG_H @@ -53,17 +46,14 @@ char buf2[MAX_REGISTER_RAW_SIZE]; #define PTRACE_XFER_TYPE int #endif -extern char **environ; extern int errno; extern int inferior_pid; -void quit (), perror_with_name (); -int query (); +void perror_with_name (); static void initialize_arch (void); /* Start an inferior process and returns its pid. - ALLARGS is a vector of program-name and args. - ENV is the environment vector to pass. */ + ALLARGS is a vector of program-name and args. */ int create_inferior (char *program, char **allargs) diff --git a/gdb/gdbserver/low-nbsd.c b/gdb/gdbserver/low-nbsd.c index b5199dc..fc54845 100644 --- a/gdb/gdbserver/low-nbsd.c +++ b/gdb/gdbserver/low-nbsd.c @@ -27,24 +27,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include /***************Begin MY defs*********************/ -int quit_flag = 0; static char my_registers[REGISTER_BYTES]; char *registers = my_registers; - -/* Index within `registers' of the first byte of the space for - register N. */ - -char buf2[MAX_REGISTER_RAW_SIZE]; /***************End MY defs*********************/ #include #include -extern int sys_nerr; +// extern int sys_nerr; // extern char **sys_errlist; -extern char **environ; extern int inferior_pid; -void quit (), perror_with_name (); +void perror_with_name (); #define RF(dst, src) \ memcpy(®isters[REGISTER_BYTE(dst)], &src, sizeof(src)) @@ -106,6 +99,20 @@ initialize_arch (void) } #endif /* !__i386__ */ +#ifdef __m68k__ +static void +initialize_arch (void) +{ +} +#endif /* !__m68k__ */ + +#ifdef __ns32k__ +static void +initialize_arch (void) +{ +} +#endif /* !__ns32k__ */ + #ifdef __powerpc__ #include "ppc-tdep.h" @@ -117,8 +124,7 @@ initialize_arch (void) /* Start an inferior process and returns its pid. - ALLARGS is a vector of program-name and args. - ENV is the environment vector to pass. */ + ALLARGS is a vector of program-name and args. */ int create_inferior (char *program, char **allargs) @@ -313,6 +319,134 @@ store_inferior_registers (int ignored) } #endif /* !__i386__ */ +#ifdef __m68k__ +/* Fetch one or more registers from the inferior. REGNO == -1 to get + them all. We actually fetch more than requested, when convenient, + marking them as valid so we won't fetch them again. */ + +void +fetch_inferior_registers (int regno) +{ + struct reg inferior_registers; + struct fpreg inferior_fp_registers; + + ptrace (PT_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_registers, 0); + memcpy (®isters[REGISTER_BYTE (0)], &inferior_registers, + sizeof (inferior_registers)); + + ptrace (PT_GETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_fp_registers, 0); + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], &inferior_fp_registers, + sizeof (inferior_fp_registers)); +} + +/* 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) +{ + struct reg inferior_registers; + struct fpreg inferior_fp_registers; + + memcpy (&inferior_registers, ®isters[REGISTER_BYTE (0)], + sizeof (inferior_registers)); + ptrace (PT_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_registers, 0); + + memcpy (&inferior_fp_registers, ®isters[REGISTER_BYTE (FP0_REGNUM)], + sizeof (inferior_fp_registers)); + ptrace (PT_SETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_fp_registers, 0); +} +#endif /* !__m68k__ */ + + +#ifdef __ns32k__ +/* Fetch one or more registers from the inferior. REGNO == -1 to get + them all. We actually fetch more than requested, when convenient, + marking them as valid so we won't fetch them again. */ + +void +fetch_inferior_registers (int regno) +{ + struct reg inferior_registers; + struct fpreg inferior_fpregisters; + + ptrace (PT_GETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_registers, 0); + ptrace (PT_GETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_fpregisters, 0); + + RF (R0_REGNUM + 0, inferior_registers.r_r0); + RF (R0_REGNUM + 1, inferior_registers.r_r1); + RF (R0_REGNUM + 2, inferior_registers.r_r2); + RF (R0_REGNUM + 3, inferior_registers.r_r3); + RF (R0_REGNUM + 4, inferior_registers.r_r4); + RF (R0_REGNUM + 5, inferior_registers.r_r5); + RF (R0_REGNUM + 6, inferior_registers.r_r6); + RF (R0_REGNUM + 7, inferior_registers.r_r7); + + RF (SP_REGNUM, inferior_registers.r_sp); + RF (FP_REGNUM, inferior_registers.r_fp); + RF (PC_REGNUM, inferior_registers.r_pc); + RF (PS_REGNUM, inferior_registers.r_psr); + + RF (FPS_REGNUM, inferior_fpregisters.r_fsr); + RF (FP0_REGNUM + 0, inferior_fpregisters.r_freg[0]); + RF (FP0_REGNUM + 2, inferior_fpregisters.r_freg[2]); + RF (FP0_REGNUM + 4, inferior_fpregisters.r_freg[4]); + RF (FP0_REGNUM + 6, inferior_fpregisters.r_freg[6]); + RF (LP0_REGNUM + 1, inferior_fpregisters.r_freg[1]); + RF (LP0_REGNUM + 3, inferior_fpregisters.r_freg[3]); + RF (LP0_REGNUM + 5, inferior_fpregisters.r_freg[5]); + RF (LP0_REGNUM + 7, inferior_fpregisters.r_freg[7]); +} + +/* 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) +{ + struct reg inferior_registers; + struct fpreg inferior_fpregisters; + + RS (R0_REGNUM + 0, inferior_registers.r_r0); + RS (R0_REGNUM + 1, inferior_registers.r_r1); + RS (R0_REGNUM + 2, inferior_registers.r_r2); + RS (R0_REGNUM + 3, inferior_registers.r_r3); + RS (R0_REGNUM + 4, inferior_registers.r_r4); + RS (R0_REGNUM + 5, inferior_registers.r_r5); + RS (R0_REGNUM + 6, inferior_registers.r_r6); + RS (R0_REGNUM + 7, inferior_registers.r_r7); + + RS (SP_REGNUM, inferior_registers.r_sp); + RS (FP_REGNUM, inferior_registers.r_fp); + RS (PC_REGNUM, inferior_registers.r_pc); + RS (PS_REGNUM, inferior_registers.r_psr); + + RS (FPS_REGNUM, inferior_fpregisters.r_fsr); + RS (FP0_REGNUM + 0, inferior_fpregisters.r_freg[0]); + RS (FP0_REGNUM + 2, inferior_fpregisters.r_freg[2]); + RS (FP0_REGNUM + 4, inferior_fpregisters.r_freg[4]); + RS (FP0_REGNUM + 6, inferior_fpregisters.r_freg[6]); + RS (LP0_REGNUM + 1, inferior_fpregisters.r_freg[1]); + RS (LP0_REGNUM + 3, inferior_fpregisters.r_freg[3]); + RS (LP0_REGNUM + 5, inferior_fpregisters.r_freg[5]); + RS (LP0_REGNUM + 7, inferior_fpregisters.r_freg[7]); + + ptrace (PT_SETREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_registers, 0); + ptrace (PT_SETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_fpregisters, 0); + +} +#endif /* !__ns32k__ */ + #ifdef __powerpc__ /* Fetch one or more registers from the inferior. REGNO == -1 to get them all. We actually fetch more than requested, when convenient, diff --git a/gdb/gdbserver/low-sparc.c b/gdb/gdbserver/low-sparc.c index e667c2e..34e4192 100644 --- a/gdb/gdbserver/low-sparc.c +++ b/gdb/gdbserver/low-sparc.c @@ -36,15 +36,8 @@ #include /***************Begin MY defs*********************/ -int quit_flag = 0; static char my_registers[REGISTER_BYTES]; char *registers = my_registers; - -/* Index within `registers' of the first byte of the space for - register N. */ - - -char buf2[MAX_REGISTER_RAW_SIZE]; /***************End MY defs*********************/ #include @@ -52,15 +45,12 @@ char buf2[MAX_REGISTER_RAW_SIZE]; extern int sys_nerr; extern char **sys_errlist; -extern char **environ; extern int errno; extern int inferior_pid; -void quit (), perror_with_name (); -int query (); +void perror_with_name (); /* Start an inferior process and returns its pid. - ALLARGS is a vector of program-name and args. - ENV is the environment vector to pass. */ + ALLARGS is a vector of program-name and args. */ int create_inferior (char *program, char **allargs) diff --git a/gdb/gdbserver/low-sun3.c b/gdb/gdbserver/low-sun3.c index b20c2a8..e1e64b6 100644 --- a/gdb/gdbserver/low-sun3.c +++ b/gdb/gdbserver/low-sun3.c @@ -33,15 +33,8 @@ #include /***************Begin MY defs*********************/ -int quit_flag = 0; static char my_registers[REGISTER_BYTES]; char *registers = my_registers; - -/* Index within `registers' of the first byte of the space for - register N. */ - - -char buf2[MAX_REGISTER_RAW_SIZE]; /***************End MY defs*********************/ #include @@ -49,15 +42,12 @@ char buf2[MAX_REGISTER_RAW_SIZE]; extern int sys_nerr; extern char **sys_errlist; -extern char **environ; extern int errno; extern int inferior_pid; -void quit (), perror_with_name (); -int query (); +void perror_with_name (); /* Start an inferior process and returns its pid. - ALLARGS is a vector of program-name and args. - ENV is the environment vector to pass. */ + ALLARGS is a vector of program-name and args. */ int create_inferior (char *program, char **allargs) -- cgit v1.1