X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fm68knbsd-nat.c;h=b76dc79c5e22b2c3a9f2cf8875d11a4d15778735;hb=43841e9116d121fa81a351b66ec9e0821a1b4be8;hp=c2e71dfb5708631922dbe9321ead9424c6f441bb;hpb=5b64ad42d36e6d487e1f7287d37fbc243a178e72;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/m68knbsd-nat.c b/gdb/m68knbsd-nat.c index c2e71dfb57..b76dc79c5e 100644 --- a/gdb/m68knbsd-nat.c +++ b/gdb/m68knbsd-nat.c @@ -1,21 +1,22 @@ /* Native-dependent code for Motorola m68k's running NetBSD, for GDB. Copyright 1988, 1989, 1991, 1992, 1994, 1996 Free Software Foundation, Inc. -This file is part of GDB. + 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 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. + 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. */ + 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 #include @@ -26,61 +27,80 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "inferior.h" void -fetch_inferior_registers(regno) +fetch_inferior_registers (regno) 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_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)); + 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)); registers_fetched (); } void -store_inferior_registers(regno) +store_inferior_registers (regno) 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); + 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); + sizeof (inferior_fp_registers)); + ptrace (PT_SETFPREGS, inferior_pid, + (PTRACE_ARG3_TYPE) & inferior_fp_registers, 0); } -struct md_core { - struct reg intreg; +struct md_core +{ + struct reg intreg; struct fpreg freg; }; -void +static void fetch_core_registers (core_reg_sect, core_reg_size, which, ignore) char *core_reg_sect; unsigned core_reg_size; int which; CORE_ADDR ignore; { - struct md_core *core_reg = (struct md_core *)core_reg_sect; - + struct md_core *core_reg = (struct md_core *) core_reg_sect; + /* Integer registers */ - memcpy(®isters[REGISTER_BYTE (0)], - &core_reg->intreg, sizeof(struct reg)); + memcpy (®isters[REGISTER_BYTE (0)], + &core_reg->intreg, sizeof (struct reg)); /* Floating point registers */ - memcpy(®isters[REGISTER_BYTE (FP0_REGNUM)], - &core_reg->freg, sizeof(struct fpreg)); + memcpy (®isters[REGISTER_BYTE (FP0_REGNUM)], + &core_reg->freg, sizeof (struct fpreg)); +} + +/* Register that we are able to handle m68knbsd core file formats. + FIXME: is this really bfd_target_unknown_flavour? */ + +static struct core_fns m68knbsd_core_fns = +{ + bfd_target_unknown_flavour, /* core_flavour */ + default_check_format, /* check_format */ + default_core_sniffer, /* core_sniffer */ + fetch_core_registers, /* core_read_registers */ + NULL /* next */ +}; + +void +_initialize_m68knbsd_nat () +{ + add_core_fns (&m68knbsd_core_fns); }