Andrew Cagney
3fadccb31d
* regcache.h: Update copyright.
...
(struct regcache, struct gdbarch): Add opaque declarations.
(current_regcache): Declare global variable.
(regcache_read, regcache_write): Add gdbarch parameter.
(regcache_save, regcache_save_no_passthrough)
(regcache_restore, regcache_restore_no_passthrough)
(regcache_dup, regcache_dup_no_passthrough)
(regcache_cpy, regcache_cpy_no_passthrough)
(deprecated_grub_regcache_for_registers)
(deprecated_grub_regcache_for_register_valid)
(regcache_valid_p): Add function declarations.
* regcache.c: Update copyright.
(regcache_descr_handle): New global variable.
(struct regcache_descr): Define.
(init_legacy_regcache_descr, init_regcache_descr): New functions.
(regcache_descr, xfree_regcache_descr): New functions.
(struct regcache): Define.
(regcache_xmalloc, regcache_xfree): New functions.
(regcache_cpy, regcache_cpy_no_passthrough): New functions.
(regcache_dup, regcache_dup_no_passthrough): New functions.
(regcache_valid_p, regcache_read_as_address): New functions.
(deprecated_grub_regcache_for_registers): New function.
(deprecated_grub_regcache_for_register_valid): New function.
(current_regcache): New global variable.
(register_buffer): Add regcache parameter. Update calls.
(regcache_read, regcache_write): Add regcache parameter. Rewrite.
(read_register_gen, write_register_gen): Update register_buffer
call. Test for legacy_p instead of gdbarch_register_read_p or
gdbarch_register_write_p.
(regcache_collect): Update register_buffer call.
(build_regcache): Rewrite. Use deprecated grub functions.
(regcache_save, regcache_save_no_passthrough): New functions.
(regcache_restore, regcache_restore_no_passthrough): New
functions.
(_initialize_regcache): Create the regcache_data_handle. Swap
current_regcache global variable.
* sh-tdep.c (sh_pseudo_register_read): Add current_regcache
parameter to regcache_read and regcache_write calls.
(sh4_register_read): Ditto.
(sh64_pseudo_register_read): Ditto.
(sh64_register_read): Ditto.
(sh_pseudo_register_write): Ditto.
(sh4_register_write): Ditto.
(sh64_pseudo_register_write): Ditto.
(sh64_register_write): Ditto.
* defs.h (XCALLOC): Define.
2002-06-20 03:13:51 +00:00
Andrew Cagney
c97dcfc7b8
* regcache.c (register_valid): Revise comments refering to "Not
...
available" and "unavailable".
* frame.c (frame_register_read): Ditto.
* findvar.c (value_of_register): Ditto.
2002-05-15 01:01:56 +00:00
Andrew Cagney
6d53172289
* config/m88k/tm-m88k.h: Update copyright.
...
(m88k_target_write_pc): Declare
(TARGET_WRITE_PC): Redefine using m88k_target_write_pc.
(M88K_NNPC_REGNUM): Rename NNPC_REGNUM.
(SHIFT_INST_REGS): Update definition.
* m88k-tdep.c (m88k_target_write_pc): New function. Implement
using old definition of TARGET_WRITE_PC.
* regcache.c (generic_target_write_pc): Delete code handling
NNPC_REGNUM.
* gdbarch.sh (NNPC_REGNUM): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
* gdbint.texinfo (Target Architecture Definition): Delete
documentation on NNPC_REGNUM.
2002-05-13 17:20:59 +00:00
Andrew Cagney
8227c0ffb1
* h8500-tdep.c (h8500_write_fp): Delete function.
...
* dwarf2cfi.c (cfi_write_fp): Document as not used.
* mips-tdep.c (mips_gdbarch_init): Do not set write_fp.
* ia64-tdep.c (ia64_gdbarch_init): Do not set write_fp.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set write_fp.
* rs6000-tdep.c (rs6000_gdbarch_init): Do not set write_fp.
* s390-tdep.c (s390_gdbarch_init): Do not set write_fp.
(s390_write_fp):
* sh-tdep.c (sh_gdbarch_init): Do not set write_fp.
* x86-64-tdep.c (i386_gdbarch_init): Do not set write_fp.
* d10v-tdep.c (d10v_gdbarch_init): Do not set write_fp.
(d10v_write_fp): Delete function.
* inferior.h (write_fp, generic_target_write_fp): Delete
declarations.
* regcache.c (generic_target_write_fp): Delete function.
(write_fp): Delete function.
* gdbarch.sh (TARGET_WRITE_FP): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
* config/v850/tm-v850.h (TARGET_WRITE_FP): Delete macro.
* config/sparc/tm-sp64.h (TARGET_WRITE_FP): Delete macro.
(sparc64_write_fp): Delete declaration.
* config/h8500/tm-h8500.h (TARGET_WRITE_FP): Delete macro.
(h8500_write_fp): Delete declaration.
2002-04-06 00:02:52 +00:00
Martin Hunt
bdbe574731
2002-03-20 Martin M. Hunt <hunt@redhat.com>
...
* regcache.c (_initialize_regcache): No need to call
build_regcache() at this time; it gets called whenever
the gdbarch changes.
2002-03-21 02:13:05 +00:00
Michael Snyder
6af4589cb6
2002-02-05 Michael Snyder <msnyder@redhat.com>
...
* regcache.c (fetch_register): Call target_fetch_register
only if we don't call FETCH_PSEUDO_REGISTER.
(store_register): Call target_store_register only if we
don't call STORE_PSEUDO_REGISTER.
2002-02-06 03:16:38 +00:00
Michael Snyder
2076c72b06
2002-01-28 Michael Snyder <msnyder@redhat.com>
...
* 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-29 20:24:27 +00:00
Andrew Cagney
4ee3352dfb
* config/pa/tm-hppa.h (DEPRECATED_CLEAN_UP_REGISTER_VALUE): Rename
...
CLEAN_UP_REGISTER_VALUE.
* regcache.c (supply_register): Update only call.
2002-01-15 02:06:47 +00:00
Andrew Cagney
1c8649cd5f
Zap stray XCALLOC().
2001-12-07 15:00:59 +00:00
Andrew Cagney
31e9866ea6
Expand the regcache so that there is space for pseudo-registers.
2001-12-06 20:49:47 +00:00
Andrew Cagney
193cb69f7b
* TODO (register_buffer): Delete.
...
* 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-11-15 06:43:10 +00:00
Andrew Cagney
275f450c27
* regcache.c (read_register_bytes): When REGISTER_NAME indicates
...
that a register should be ignored, supply a value for the register
from the raw registers[] buffer.
2001-08-24 05:11:07 +00:00
Michael Snyder
1297a2f020
2001-08-10 Michael Snyder <msnyder@redhat.com>
...
* 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-08-10 21:52:17 +00:00
Andrew Cagney
01fb743397
Multi-arch CANNOT_FETCH_REGISTER() and CANNOT_STORE_REGISTER().
2001-06-15 23:50:46 +00:00
Kevin Buettner
39f770628a
Phase 1 of the ptid_t changes.
2001-05-04 04:15:33 +00:00
J.T. Conklin
3172dc307b
* arch-utils.c (#include "gdbthread.h"): Removed.
...
(#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-27 20:36:24 +00:00
Andrew Cagney
61a0eb5b8e
Re-vamp the register code so that a lot more is routed through
...
{read,write}_register_gen. Hook that function with multi-arch.
2001-03-24 01:26:09 +00:00
Andrew Cagney
a728f04251
Eliminate ARCH_NUM_REGS.
2001-03-13 23:31:14 +00:00
Kevin Buettner
b6ba6518e9
Update/correct copyright notices.
2001-03-06 08:22:02 +00:00
Andrew Cagney
4e052eda91
Create new file regcache.h. Update all uses.
2001-03-01 01:39:22 +00:00
Andrew Cagney
d65fe83949
Move frame specific register code to the new file frame.c.
2001-02-20 22:39:03 +00:00
Andrew Cagney
8e65ff28b0
Add __FILE__ and __LINE__ parameter to internal_error() /
...
internal_verror().
2001-02-08 06:03:54 +00:00
Michael Snyder
e6cbd02ac2
2001-02-06 Michael Snyder <msnyder@makita.cygnus.com>
...
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-02-06 20:05:42 +00:00
Nicholas Duffek
7302a204c4
* regcache.c (set_register_cached, register_buffer,
...
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 00:12:48 +00:00
Nicholas Duffek
5ebd2499d3
* regcache.c: Change "write-back" comment to "write-through".
...
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".
2001-01-09 00:11:28 +00:00
Michael Snyder
165cd47f5e
2000-11-16 Michael Snyder <msnyder@cleaver.cygnus.com>
...
* 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-11-17 01:30:53 +00:00
J.T. Conklin
8e1a459b89
* gdbarch.sh, hp-psymtab-read.c, hpread.c, m3-nat.c, mcore-tdep.c,
...
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-10-30 21:50:58 +00:00
Michael Snyder
705152c5cd
2000-09-01 Michael Snyder <msnyder@cleaver.cygnus.com>
...
* regcache.c (reg_flush_command): New function. Maintainer-mode
command, flushes GDB's register cache, for testing purposes.
2000-09-01 17:59:26 +00:00
David Taylor
2dc4e391d4
Fri Aug 25 16:57:05 2000 David Taylor <taylor@texas.cygnus.com>
...
* regcache.c (register_changed): New function.
* value.h: Declare it.
2000-08-25 21:03:00 +00:00
Andrew Cagney
f3d219244e
Restore GET_SAVED_REGISTERS
2000-08-11 19:09:55 +00:00
Andrew Cagney
be8dfb8711
* regcache.c (TARGET_WRITE_PC, TARGET_READ_PC, TARGET_READ_FP,
...
TARGET_WRITE_FP, TARGET_READ_SP, TARGET_WRITE_SP): Move
initialization from here.
* gdbarch.sh: To here.
* gdbarch.h, gdbarch.c: Regenerate.
2000-08-11 03:19:22 +00:00
Elena Zannoni
7ec7e38946
2000-07-24 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
...
* 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-24 14:35:14 +00:00
Elena Zannoni
f41603356d
2000-07-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
...
* regcache.c (read_register, read_register_bytes): Fix typos.
2000-07-21 22:25:52 +00:00
Michael Snyder
fcdc5976b3
2000-07-12 Michael Snyder <msnyder@cleaver.cygnus.com>
...
* 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-12 22:01:17 +00:00
Andrew Cagney
173155e866
Add read_signed_register{,_pid}(). Change return type of
...
read_register{,_pid}() to ULONGEST.
2000-07-11 05:42:25 +00:00
Michael Snyder
32178cabe9
2000-07-07 Michael Snyder <msnyder@cleaver.cygnus.com>
...
* 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-10 06:16:51 +00:00
Michael Snyder
62c848e1d0
Dummy commit for diff purposes.
2000-07-10 06:14:40 +00:00