From: Stan Shebs Date: Sun, 17 Jul 1994 00:00:36 +0000 (+0000) Subject: * inferior.h (ARCH_NUM_REGS): New macro, actual number of X-Git-Tag: gdb-4_18~14010 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=62a5dabced9c5369448d52c847cb96a388d76e1e;p=platform%2Fupstream%2Fbinutils.git * 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. --- 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 #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);