diff options
author | Stan Shebs <shebs@codesourcery.com> | 1994-07-17 00:00:36 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1994-07-17 00:00:36 +0000 |
commit | 62a5dabced9c5369448d52c847cb96a388d76e1e (patch) | |
tree | 5c85effef1bce44c7ecc1a5e4c39edeb4ed917c9 /gdb | |
parent | 49b476bd200c801d9c93adebbef6ee695bd8dcb5 (diff) | |
download | gdb-62a5dabced9c5369448d52c847cb96a388d76e1e.zip gdb-62a5dabced9c5369448d52c847cb96a388d76e1e.tar.gz gdb-62a5dabced9c5369448d52c847cb96a388d76e1e.tar.bz2 |
* inferior.h (ARCH_NUM_REGS): New macro, actual number of
registers in use by the inferior.
* coredep.c (fetch_core_registers, register_addr): Use it.
* findvar.c (registers_changed, registers_fetched,
read_register_bytes): Ditto.
* infcmd.c (do_registers_info, registers_info): Ditto.
* infptrace.c (fetch_inferior_registers,
store_inferior_registers): Ditto.
* stack.c (frame_info): Ditto.
* coredep.c (CORE_REGISTER_ADDR): New macro.
(fetch_core_registers): Use it.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 13 | ||||
-rw-r--r-- | gdb/coredep.c | 13 |
2 files changed, 22 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4734232..85bf2c9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,18 @@ Sat Jul 16 14:43:17 1994 Stan Shebs (shebs@andros.cygnus.com) + * inferior.h (ARCH_NUM_REGS): New macro, actual number of + registers in use by the inferior. + * coredep.c (fetch_core_registers, register_addr): Use it. + * findvar.c (registers_changed, registers_fetched, + read_register_bytes): Ditto. + * infcmd.c (do_registers_info, registers_info): Ditto. + * infptrace.c (fetch_inferior_registers, + store_inferior_registers): Ditto. + * stack.c (frame_info): Ditto. + + * coredep.c (CORE_REGISTER_ADDR): New macro. + (fetch_core_registers): Use it. + * breakpoint.c (ignore, condition): Add usage notes to help strings. * symfile.c (add-symbol-file): Add usage note to help string. (add_shared_symbol_files_command): New command. diff --git a/gdb/coredep.c b/gdb/coredep.c index ae30980..b2019e1 100644 --- a/gdb/coredep.c +++ b/gdb/coredep.c @@ -41,6 +41,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #endif /* NO_PTRACE_H */ #endif +#ifndef CORE_REGISTER_ADDR +#define CORE_REGISTER_ADDR(regno, regptr) register_addr(regno, regptr) +#endif /* CORE_REGISTER_ADDR */ + #ifdef NEED_SYS_CORE_H #include <sys/core.h> #endif @@ -69,19 +73,20 @@ fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr) register unsigned int addr; int bad_reg = -1; register reg_ptr = -reg_addr; /* Original u.u_ar0 is -reg_addr. */ + int numregs = ARCH_NUM_REGS; /* If u.u_ar0 was an absolute address in the core file, relativize it now, so we can use it as an offset into core_reg_sect. When we're done, "register 0" will be at core_reg_sect+reg_ptr, and we can use - register_addr to offset to the other registers. If this is a modern + CORE_REGISTER_ADDR to offset to the other registers. If this is a modern core file without a upage, reg_ptr will be zero and this is all a big NOP. */ if (reg_ptr > core_reg_size) reg_ptr -= KERNEL_U_ADDR; - for (regno = 0; regno < NUM_REGS; regno++) + for (regno = 0; regno < numregs; regno++) { - addr = register_addr (regno, reg_ptr); + addr = CORE_REGISTER_ADDR (regno, reg_ptr); if (addr >= core_reg_size) { if (bad_reg < 0) bad_reg = regno; @@ -108,7 +113,7 @@ register_addr (regno, blockend) { int addr; - if (regno < 0 || regno >= NUM_REGS) + if (regno < 0 || regno >= ARCH_NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); |