X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fhppam3-nat.c;h=349df39dfb39c581591d4662fe047cc5a3194b83;hb=d68a90cfcaf9f22b7f29bef608b040571cf86c46;hp=95a66b05fefd30bb235a3424a52c5a5e880c710c;hpb=8b0b198558d0fc981f129e2e3dcbe00a0f308449;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/hppam3-nat.c b/gdb/hppam3-nat.c index 95a66b05fe..349df39dfb 100644 --- a/gdb/hppam3-nat.c +++ b/gdb/hppam3-nat.c @@ -1,25 +1,27 @@ /* Low level interface to HP800 running mach 4.0. - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright 1995, 2000, 2001 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 "defs.h" #include "inferior.h" #include "floatformat.h" +#include "regcache.h" #include @@ -36,15 +38,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ */ void -fetch_inferior_registers (regno) - int regno; +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)) + + if (!MACH_PORT_VALID (current_thread)) error ("fetch inferior registers: Invalid thread"); if (must_suspend_thread) @@ -60,8 +61,8 @@ fetch_inferior_registers (regno) mach_error_string (ret)); else { - for (index = 0; index < NUM_REGS; index++) - supply_register (index,(void*)&state[index]); + for (index = 0; index < NUM_REGS; index++) + supply_register (index, (void *) &state[index]); } if (must_suspend_thread) @@ -75,15 +76,14 @@ fetch_inferior_registers (regno) * On mach3 all registers are always saved in one call. */ void -store_inferior_registers (regno) - int regno; +store_inferior_registers (int regno) { kern_return_t ret; thread_state_data_t state; unsigned int stateCnt = TRACE_FLAVOR_SIZE; register int index; - if (! MACH_PORT_VALID (current_thread)) + if (!MACH_PORT_VALID (current_thread)) error ("store inferior registers: Invalid thread"); if (must_suspend_thread) @@ -95,7 +95,7 @@ store_inferior_registers (regno) state, &stateCnt); - if (ret != KERN_SUCCESS) + if (ret != KERN_SUCCESS) { warning ("store_inferior_registers (get): %s", mach_error_string (ret)); @@ -106,32 +106,32 @@ store_inferior_registers (regno) /* 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 ) + if (regno > 0 && regno < NUM_REGS) { - memcpy(&state[regno], ®isters[REGISTER_BYTE (regno)], - REGISTER_RAW_SIZE(regno)); + memcpy (&state[regno], &deprecated_registers[REGISTER_BYTE (regno)], + REGISTER_RAW_SIZE (regno)); } else { - for (index = 0; index < NUM_REGS; index++) - memcpy(&state[index], ®isters[REGISTER_BYTE (index)], - REGISTER_RAW_SIZE(index)); -/* state[index] = registers[REGISTER_BYTE (index)];*/ + for (index = 0; index < NUM_REGS; index++) + memcpy (&state[index], &deprecated_registers[REGISTER_BYTE (index)], + REGISTER_RAW_SIZE (index)); +/* state[index] = deprecated_registers[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));