aboutsummaryrefslogtreecommitdiff
path: root/gdb/regcache.c
AgeCommit message (Collapse)AuthorFilesLines
2002-01-292002-01-28 Michael Snyder <msnyder@redhat.com>Michael Snyder1-2/+2
* regcache.c (legacy_read_register_gen): Need to be able to read pseudo-register as well as real register. (legacy_write_register_gen): Ditto.
2002-01-15* config/pa/tm-hppa.h (DEPRECATED_CLEAN_UP_REGISTER_VALUE): RenameAndrew Cagney1-2/+2
CLEAN_UP_REGISTER_VALUE. * regcache.c (supply_register): Update only call.
2001-12-07Zap stray XCALLOC().Andrew Cagney1-3/+0
2001-12-06Expand the regcache so that there is space for pseudo-registers.Andrew Cagney1-23/+50
2001-11-15* TODO (register_buffer): Delete.Andrew Cagney1-1/+8
* regcache.c (register_buffer): Make static. (regcache_collect): New function. * regcache.h (register_buffer): Delete declaration. (regcache_collect): Declare. * remote.c (store_register_using_P): Rewrite using regcache_collect. (remote_store_registers): Ditto. * go32-nat.c (store_register): Ditto.
2001-08-24* regcache.c (read_register_bytes): When REGISTER_NAME indicatesAndrew Cagney1-5/+12
that a register should be ignored, supply a value for the register from the raw registers[] buffer.
2001-08-102001-08-10 Michael Snyder <msnyder@redhat.com>Michael Snyder1-8/+9
* regcache.c (legacy_write_register_gen): Don't 'optimize out' a write_register to a pseudo-reg. Target_store_pseudo_register needs to get called, because these regs may be computed and may have side-effects.
2001-06-15Multi-arch CANNOT_FETCH_REGISTER() and CANNOT_STORE_REGISTER().Andrew Cagney1-5/+0
2001-05-04Phase 1 of the ptid_t changes.Kevin Buettner1-49/+53
2001-03-27* arch-utils.c (#include "gdbthread.h"): Removed.J.T. Conklin1-1/+0
(#include "symfile.h"): Removed. (XMALLOC): Removed unused macro. * breakpoint.c (tbreak_command): Removed local declaration. (awatch_command, do_enable_breakpoint, set_breakpoint_count): Remove duplicate declarations. (bpstat_should_step, bpstat_have_active_hw_watchpoints) (remove_solib_event_breakpoints): Fix indentation botch. * c-typeprint.c (#include "command.h"): Removed. (#include "gdbcmd.h"): Removed. * ch-exp.c (ch_terminal_match_float_literal, parse_expr) (parse_primval, parse_untyped_expr, parse_opt_untyped_expr): Removed duplicate declarations. * ch-typeprint.c (#include "command.h"): Removed. (#include "gdbcmd.h"): Removed. * corefile.c (#include "frame.h"): Removed (#include "symfile.h"): Removed. (#include "language.h"): Removed. * dbxread.c (#include "command.h"): Removed. * environ.c (#include "gdbcore.h"): Removed. * event-loop.c (#include "top.h"): Removed. * f-typeprint.c (#include "command.h"): Removed. (#include "gdbcmd.h"): Removed. (#include "language.h"): Removed. (#include "typeprint.h"): Removed. (#include "frame.h"): Removed. * gdbtypes.h (print_type_scalar): Removed declaration. * infcmd.c (#include "completer.h"): Removed. * language.c (#include "frame.h"): Removed. * m2-typeprint.c (#include "command.h"): Removed. (#include "gdbcmd.h"): Removed. (#include "language.h"): Removed. * m2-valprint.c (#include "valprint.h"): Removed. * p-typeprint.c (#include "command.h"): Removed. (#include "gdbcmd.h"): Removed. * p-valprint.c (#include "typeprint.h"): Removed. * parse.c (#include "linespec.h"): Removed. * regcache.c (#include "frame.h"): Removed. * remote.c (#include "frame.h"): Removed. (getpkt_sane): Make static. * source.c (#include "completer.h"): Removed. * stack.c (#include "symfile.h"): Removed. (#include "objfiles.h"): Removed. * symfile.c (#include "completer.h"): Removed. * tracepoint.c (#include "completer.h"): Removed. * values.c (#include "frame.h"): Removed. * varobj.c (#include "valprint.h"): Removed. * wrapper.c (#include "frame.h"): Removed. * memattr.c (create_mem_region): Removed unused variable. * remote-nrom.c: Removed spurious semicolon after init_nrom_ops. -------------------------------------------------------------------
2001-03-24Re-vamp the register code so that a lot more is routed throughAndrew Cagney1-82/+96
{read,write}_register_gen. Hook that function with multi-arch.
2001-03-13Eliminate ARCH_NUM_REGS.Andrew Cagney1-2/+2
2001-03-06Update/correct copyright notices.Kevin Buettner1-1/+1
2001-03-01Create new file regcache.h. Update all uses.Andrew Cagney1-0/+9
2001-02-20Move frame specific register code to the new file frame.c.Andrew Cagney1-199/+0
2001-02-08Add __FILE__ and __LINE__ parameter to internal_error() /Andrew Cagney1-7/+13
internal_verror().
2001-02-062001-02-06 Michael Snyder <msnyder@makita.cygnus.com>Michael Snyder1-1/+1
Submitted by Paul Hilfinger (hilfingr@gnat.com) and Andrei Petrov (and@genesyslab.com). * findvar.c: Buffers of size MAX_REGISTER_RAW_SIZE or REGISTER_BYTES must be allocated dynamically, since these are no longer constants. * infcmd.c: Ditto. * regcache.c: Ditto. * remote.c: Ditto. * sol-thread.c: Ditto. * valops.c: Ditto. * config/sparc/sun4sol2.mh (MH_CFLAGS): Add -I/usr/include/v9, as a work-around for a missing Sun header file in solaris for sparc64.
2001-01-09 * regcache.c (set_register_cached, register_buffer,Nicholas Duffek1-61/+96
real_register, pseudo_register fetch_register, store_register): New functions. (register_changed, read_relative_register_raw_bytes_for_frame, registers_changed, registers_fetched, read_register_bytes, read_register_gen, write_register_gen, read_register, read_signed_register, write_register, supply_register): Replace register_valid[] with register_cached() and set_register_cached(). (read_register_bytes, read_register_gen, write_register_gen, read_register, read_signed_register, write_register, supply_register): Replace registers[] with register_buffer(). (read_register_bytes, read_register_gen, read_register, read_signed_register): Call fetch_register(). (write_register_gen, write_register): Call real_register() and store_register(). (write_register_bytes): Call store_register(). * value.h (set_register_cached, register_buffer): Prototype. * remote.c (remote_fetch_registers): Allocate regs[] with a run-time size. Replace register_valid[] with set_register_cached(). (store_register_using_P, remote_store_registers): Replace registers[] with register_buffer().
2001-01-09 * regcache.c: Change "write-back" comment to "write-through".Nicholas Duffek1-99/+98
Change "regno" to "regnum". (read_register, read_signed_register): Remove "raw" from return value description. (supply_register): Spelling fix. * value.h: Change "regno" to "regnum".
2000-11-172000-11-16 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-1/+8
* regcache.c (read_register_bytes): Failing to set register_valid is not necessarily an error, if the register is a pseudo-register. Some pseudo-registers are never marked as valid, so that they will be read anew every time. Determining if a pseudo-register is valid (or should be marked invalid) may be difficult, whereas just recomputing it may be cheap.
2000-10-30* gdbarch.sh, hp-psymtab-read.c, hpread.c, m3-nat.c, mcore-tdep.c,J.T. Conklin1-1/+1
mips-tdep.c, monitor.c, regcache.c, remote-es.c, ser-unix.c, somread.c, tracepoint.c: Fix spelling errors in comments. * gdbarch.c: Regenerate. * gnu-nat.c (S_exception_raise_request): Fix typos and spelling errors in strings. * m3-nat.c (intercept_exec_calls, mach_thread_parse_id): Likewise. * mcore-tdep.c (mcore_analyze_prologue): Likewise. * mips-tdep.c (mips16_next_pc, _initialize_mips_tdep): Likewise. * remote-e7000.c (e7000_start_remote): Likewise. * remote-rdp.c (handle_swi): Likewise. * remote-vx.c (vx_load_command): Likewise. * sh-tdep.c (sh_do_pseudo_register): Likewise. * sol-thread.c (td_err_string): Likewise. * symtab.c (decode_line_2): Likewise. -------------------------------------------------------------------
2000-09-012000-09-01 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-0/+15
* regcache.c (reg_flush_command): New function. Maintainer-mode command, flushes GDB's register cache, for testing purposes.
2000-08-25Fri Aug 25 16:57:05 2000 David Taylor <taylor@texas.cygnus.com>David Taylor1-0/+9
* regcache.c (register_changed): New function. * value.h: Declare it.
2000-08-11Restore GET_SAVED_REGISTERSAndrew Cagney1-0/+5
2000-08-11 * regcache.c (TARGET_WRITE_PC, TARGET_READ_PC, TARGET_READ_FP,Andrew Cagney1-29/+0
TARGET_WRITE_FP, TARGET_READ_SP, TARGET_WRITE_SP): Move initialization from here. * gdbarch.sh: To here. * gdbarch.h, gdbarch.c: Regenerate.
2000-07-242000-07-24 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-6/+6
* gdbarch.sh: Add FETCH_PSEUDO_REGISTER and STORE_PSEUDO_REGISTER to the gdbarch structure. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. * inferior.h (FETCH_PSEUDO_REGISTER, STORE_PSEUDO_REGISTER): Delete macros. * regcache.c (write_register, read_register, write_register_bytes, write_register_gen, read_register_bytes, read_register_gen): Rename ARCH_FECTH_PSEUDO_REGISTERS to FETCH_PSEUDO_REGISTERS and ARCH_STORE_PSEUDO_REGISTER to STORE_PSEUDO_REGISTER.
2000-07-212000-07-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-2/+2
* regcache.c (read_register, read_register_bytes): Fix typos.
2000-07-122000-07-12 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-16/+46
* regcache.c (registers_changed, registers_fetched): Use ARCH_NUM_REGS directly, eliminating an unnecessary variable. This change adds pseudo-register capability to GDB. Pseudo-registers are handled like registers, but they don't come from or live on the target. They may be aliases for an existing register, or they may be computed. * defs.h (NUM_PSEUDO_REGISTERS): Define default of zero. (ARCH_FETCH_PSEUDO_REGISTERS): Define default of no-op. (ARCH_STORE_PSEUDO_REGISTERS): Define default of no-op. # regcache.c (registers_changed): Mark pseudo-registers invalid, as well as real registers. (registers_fetched): Do not mark pseudo-registers as fetched at the same time as other (real) registers. (read_register_bytes): Fetch pseudo-registers (if any) from the target architecture module instead of from the target. (read_register_gen): Ditto. (read_register): Ditto. (write_register_bytes): Store pseudo-registers (if any) to the target architecture module instead of to the target. (write_register_gen): Ditto. (write_register): Ditto. (build_regcache): Allocate enough register_valid space for pseudo-registers as well as normal (real) ones.
2000-07-11Add read_signed_register{,_pid}(). Change return type ofAndrew Cagney1-6/+43
read_register{,_pid}() to ULONGEST.
2000-07-102000-07-07 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-0/+840
* findvar.c (_initialize_findvar, build_findvar, write_fp, read_fp, generic_target_write_fp, generic_target_read_fp, write_sp, read_sp, generic_target_write_sp, generic_target_read_sp, write_pc, read_pc, generic_target_write_pc, generic_target_read_pc, write_pc_pid, read_pc_pid, supply_register, write_register_pid, write_register, read_register_pid, read_register, write_register_bytes, read_register_bytes, write_register_gen, read_register_gen, registers_fetched, registers_changed, find_saved_register, read_relative_register_raw_bytes, default_get_saved_register, read_relative_register_raw_bytes_for_frame, get_saved_register): Move from this file into new file regcache.c. (register_valid, registers_pid, registers): Ditto. * regcache.c: New file to hold the register cache. (register_cached): New function to read register_valid array. * value.h (register_cached): Declare. * defs.h (default_get_saved_register): Delete decl of static function. * Makefile.in: Add regcache module.
2000-07-10Dummy commit for diff purposes.Michael Snyder1-0/+0