Andrew Cagney
28fc674094
2002-08-13 Andrew Cagney <cagney@redhat.com>
* i386-tdep.c (i386_register_name): Handle mmx registers.
(mmx_regnum_p): New function.
(i386_mmx_names): New array.
(mmx_num_regs): New variable.
(i386_pseudo_register_read): New function.
(i386_pseudo_register_write): New function.
(mmx_regnum_to_fp_regnum): New function. Code from Fernando Nasser.
* regcache.c (regcache_raw_read_unsigned): New function.
(regcache_raw_read_signed): New function.
* regcache.h (regcache_raw_read_unsigned): Declare.
(regcache_raw_read_signed): Declare.
24 years ago
Andrew Cagney
a378f41926
2002-08-12 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_raw_read_as_address): Delete function.
(regcache_cooked_read_signed): New function.
(regcache_cooked_read_unsigned): New function.
* regcache.h (regcache_cooked_read_signed): Declare.
(regcache_cooked_read_unsigned): Declare.
(regcache_raw_read_as_address): Delete declaration.
* blockframe.c (generic_read_register_dummy): Use
regcache_cooked_read_unsigned.
* i386-tdep.c (i386_extract_struct_value_address): Use
regcache_cooked_read_unsigned.
24 years ago
Andrew Cagney
a7e3c2ad4b
2002-08-09 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_dump): Compare the register offset
with REGISTER_BYTE.
* arch-utils.c (generic_register_byte): New function.
* arch-utils.h (generic_register_byte): Declare.
* gdbarch.sh (REGISTER_BYTE): Default to generic_register_byte.
* gdbarch.h, gdbarch.c: Regenerate.
24 years ago
Andrew Cagney
af030b9af8
2002-08-09 Andrew Cagney <cagney@redhat.com>
* regcache.c: Include "gdbcmd.h"
(_initialize_regcache): Add commands "maintenance print
registers", "maintenance print raw-registers" and "maintenance
print cooked-registers".
(enum regcache_dump_what): Define.
(dump_endian_bytes): New function.
(regcache_dump): New function.
(regcache_print): New function.
(maintenance_print_registers): New function.
(maintenance_print_raw_registers): New function.
(maintenance_print_cooked_registers): New function.
* Makefile.in (regcache.o): Update dependencies.
24 years ago
Andrew Cagney
5c27f28ad0
2002-08-07 Andrew Cagney <ac131313@redhat.com>
* regcache.c (pseudo_register): Delete function.
(fetch_register): Delete function.
(store_register): Delete function.
(regcache_raw_read, legacy_read_register_gen): Use
target_fetch_registers instead of fetch_register.
(legacy_write_register_gen, regcache_raw_write): Use
target_store_register instead of store_register.
(write_register_bytes): Ditto.
* gdbarch.sh (FETCH_PSEUDO_REGISTER): Delete.
(STORE_PSEUDO_REGISTER): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
24 years ago
Andrew Cagney
b66d6d2e12
Fri Aug 2 15:53:50 2002 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh: Include "gdb_string.h".
* gdbarch.c: Regenerate.
* regcache.c: Include "gdb_string.h".
* ax-general.c: Ditto.
* varobj.c: Ditto.
* std-regs.c: Ditto.
* fbsd-proc.c: Ditto.
* thread.c: Ditto.
* Makefile.in (regcache.o): Update dependencies.
(thread.o, gdbarch.o): Ditto.
(ax-general.o, gdbarch.o): Ditto.
(varobj.o, std-regs.o): Ditto.
(fbsd-proc.o): Specify dependencies.
24 years ago
Andrew Cagney
29e1842b36
2002-08-02 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_cooked_read): Rename rawnum parameter to
regnum.
(regcache_cooked_write): Ditto.
24 years ago
Andrew Cagney
68365089fc
Add the cooked register interface.
24 years ago
Andrew Cagney
d8124050fd
2002-08-02 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (pseudo_register_read, pseudo_register_write):
Replace the architecture methods register_read and register_write.
* gdbarch.h, gdbarch.c: Regenerate.
* regcache.c (init_regcache_descr): Update.
(read_register_gen): Update.
(write_register_gen): Update.
(supply_register): Update comment.
* sh-tdep.c (sh_gdbarch_init): Update.
(sh_pseudo_register_read, sh64_pseudo_register_read): Add
`regcache' and `gdbarch' parameters. Make `buffer' a void
pointer. Update code.
(sh_pseudo_register_write, sh64_pseudo_register_write): Add
`regcache' and `gdbarch' parameters. Make `buffer' a constant
void pointer. Update code.
(sh64_register_write): Delete.
(sh4_register_read): Delete.
(sh64_register_read): Delete.
(sh4_register_write): Delete.
(sh_sh4_register_convert_to_raw): Make `from' parameter a constant
void pointer, `to' parameter a void pointer.
(sh_sh64_register_convert_to_raw): Ditto.
24 years ago
Andrew Cagney
d138e37abc
2002-07-25 Andrew Cagney <cagney@redhat.com>
* regcache.c (struct regcache_descr): Rename nr_registers to
nr_cooked_registers. Revise comments describing the structure
member fields.
(init_regcache_descr): Update.
(init_legacy_regcache_descr): Update.
(read_register_gen, write_register_gen): When a cooked register in
the raw register range, directly access the value from the raw
register cache.
24 years ago
Andrew Cagney
1aaa5f999f
2002-07-24 Andrew Cagney <cagney@redhat.com>
* regcache.c (regcache_raw_write): Change buf parameter to a
constant void pointer.
(regcache_raw_read): Change buf parameter to a void pointer.
(legacy_write_register_gen): Change myaddr parameter a constant
void pointer.
(supply_register): Change val parameter to a const void pointer.
* regcache.h (regcache_raw_write): Update declaration.
(regcache_raw_read): Update declaration.
(supply_register): Update declaration.
24 years ago
Andrew Cagney
0818c12a55
2002-07-24 Andrew Cagney <cagney@redhat.com>
* regcache.h (regcache_raw_read, regcache_raw_write): Replace
regcache_read and regcache_write.
(regcache_raw_read_as_address): Replace regcache_read_as_address.
* regcache.c: Update.
* sh-tdep.c (sh64_push_arguments): Update comment.
(sh_pseudo_register_read): Update.
(sh_pseudo_register_write): Update.
(sh4_register_read): Update.
(sh4_register_write): Update.
(sh64_pseudo_register_read): Update.
(sh64_pseudo_register_write): Update.
(sh64_register_read): Update.
(sh64_register_write): Update.
* i386-tdep.c (i386_extract_return_value): Update.
(i386_extract_struct_value_address): Update.
(i386_extract_return_value): Update.
* blockframe.c (generic_read_register_dummy): Update.
(generic_call_dummy_register_unwind): Update
* infrun.c (write_inferior_status_register): Update.
24 years ago
Andrew Cagney
36160dc4b2
* infcmd.c (print_return_value): Remove compatibility code calling
deprecated_grub_regcache_for_registers.
* values.c: Include "regcache.h".
(value_being_returned): Update. Use
deprecated_grub_regcache_for_registers to extract the register
buffer address.
* value.h (value_being_returned): Change ``retbuf'' parameter to a
``struct regcache''.
* Makefile.in (values.o): Add dependency on $(regcache_h).
* inferior.h (run_stack_dummy): Change type of second parameter to
a ``struct regcache''.
* valops.c (hand_function_call): Change type of retbuf to ``struct
regcache''. Allocate using regcache_xmalloc, clean using
make_cleanup_regcache_xfree.
* infcmd.c (run_stack_dummy): Update. Use
regcache_cpu_no_passthrough instead of memcpy to copy the buffer.
* regcache.c (do_regcache_xfree): New function.
(make_cleanup_regcache_xfree): New function.
* regcache.h (make_cleanup_regcache_xfree): Declare.
24 years ago
Andrew Cagney
0b434a0046
From 2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>:
* regcache.c (supply_register): Add missing argument to
register_buffer call.
24 years ago
Andrew Cagney
37e7137227
* regcache.h: Update comments describing the regcache_cpy family
of functions.
(regcache_save, regcache_restore): Delete declaration.
(regcache_save_no_passthrough): Delete declaration.
(regcache_restore_no_passthrough): Delete declaration.
* regcache.c (regcache_save): Delete function.
(regcache_save_no_passthrough): Delete function.
(regcache_restore): Delete function.
(regcache_restore_no_passthrough): Delete function.
24 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
Andrew Cagney
1c8649cd5f
Zap stray XCALLOC().
25 years ago
Andrew Cagney
31e9866ea6
Expand the regcache so that there is space for pseudo-registers.
25 years ago
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.
25 years ago
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.
25 years ago
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.
25 years ago
Andrew Cagney
01fb743397
Multi-arch CANNOT_FETCH_REGISTER() and CANNOT_STORE_REGISTER().
26 years ago
Kevin Buettner
39f770628a
Phase 1 of the ptid_t changes.
26 years ago
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.
-------------------------------------------------------------------
26 years ago
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.
26 years ago
Andrew Cagney
a728f04251
Eliminate ARCH_NUM_REGS.
26 years ago
Kevin Buettner
b6ba6518e9
Update/correct copyright notices.
26 years ago
Andrew Cagney
4e052eda91
Create new file regcache.h. Update all uses.
26 years ago
Andrew Cagney
d65fe83949
Move frame specific register code to the new file frame.c.
26 years ago
Andrew Cagney
8e65ff28b0
Add __FILE__ and __LINE__ parameter to internal_error() /
internal_verror().
26 years ago
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.
26 years ago
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().
26 years ago
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".
26 years ago
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.
26 years ago
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.
-------------------------------------------------------------------
26 years ago
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.
26 years ago
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.
26 years ago
Andrew Cagney
f3d219244e
Restore GET_SAVED_REGISTERS
26 years ago
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.
26 years ago
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.
26 years ago
Elena Zannoni
f41603356d
2000-07-21 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* regcache.c (read_register, read_register_bytes): Fix typos.
26 years ago
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.
26 years ago
Andrew Cagney
173155e866
Add read_signed_register{,_pid}(). Change return type of
read_register{,_pid}() to ULONGEST.
26 years ago