From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cagney To: GDB Patches Subject: [rfc] Replace ARCH_NUM_REGS with NUM_REGS Date: Mon, 12 Mar 2001 15:50:00 -0000 Message-id: <3AAD5FC8.5CD12B4C@cygnus.com> X-SW-Source: 2001-03/msg00174.html With harris/88k gone, this macro is no longer needed. Comments? Andrew ? diffs ? gdb/diffs Index: gdb/ChangeLog =================================================================== RCS file: /cvs/src/src/gdb/ChangeLog,v retrieving revision 1.1040 diff -p -r1.1040 ChangeLog *** ChangeLog 2001/03/10 06:17:19 1.1040 --- ChangeLog 2001/03/12 16:14:22 *************** *** 1,3 **** --- 1,21 ---- + 2001-03-08 Andrew Cagney + + * inferior.h (ARCH_NUM_REGS): Delete definition. + * stack.c (frame_info): Use NUM_REGS, not ARCH_NUM_REGS. + * regcache.c (registers_changed): Ditto. + (registers_fetched): Ditto. + * infptrace.c (fetch_inferior_registers): Ditto. + (store_inferior_registers): Ditto. + * infcmd.c (do_registers_info): Ditto. + (registers_info): Ditto. + * i386-linux-nat.c (old_fetch_inferior_registers): Ditto. + (old_store_inferior_registers): Ditto. + * gdbserver/low-linux.c (register_addr): Ditto. + * gdbserver/low-hppabsd.c (register_addr): Ditto. + * core-aout.c: Don't include "inferior.h". + (fetch_core_registers): Use NUM_REGS not ARCH_NUM_REGS. + (register_addr): Ditto. + 2001-03-09 Kevin Buettner * Makefile.in (solib-svr4.o): Depend on solib-svr4.c, not solib.c. Index: gdb/core-aout.c =================================================================== RCS file: /cvs/src/src/gdb/core-aout.c,v retrieving revision 1.6 diff -p -r1.6 core-aout.c *** core-aout.c 2001/03/06 08:21:06 1.6 --- core-aout.c 2001/03/12 16:14:22 *************** *** 38,44 **** #include #include "gdbcore.h" #include "value.h" /* For supply_register. */ - #include "inferior.h" /* For ARCH_NUM_REGS. */ #include "regcache.h" /* These are needed on various systems to expand REGISTER_U_ADDR. */ --- 38,43 ---- *************** fetch_core_registers (char *core_reg_sec *** 82,88 **** CORE_ADDR addr; int bad_reg = -1; CORE_ADDR 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, --- 81,87 ---- CORE_ADDR addr; int bad_reg = -1; CORE_ADDR reg_ptr = -reg_addr; /* Original u.u_ar0 is -reg_addr. */ ! int numregs = 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_addr (int regno, CORE_ADDR bloc *** 118,124 **** { CORE_ADDR addr; ! if (regno < 0 || regno >= ARCH_NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); --- 117,123 ---- { CORE_ADDR addr; ! if (regno < 0 || regno >= NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); Index: gdb/i386-linux-nat.c =================================================================== RCS file: /cvs/src/src/gdb/i386-linux-nat.c,v retrieving revision 1.22 diff -p -r1.22 i386-linux-nat.c *** i386-linux-nat.c 2001/03/01 01:39:20 1.22 --- i386-linux-nat.c 2001/03/12 16:14:22 *************** old_fetch_inferior_registers (int regno) *** 192,198 **** } else { ! for (regno = 0; regno < ARCH_NUM_REGS; regno++) { fetch_register (regno); } --- 192,198 ---- } else { ! for (regno = 0; regno < NUM_REGS; regno++) { fetch_register (regno); } *************** old_store_inferior_registers (int regno) *** 254,260 **** } else { ! for (regno = 0; regno < ARCH_NUM_REGS; regno++) { store_register (regno); } --- 254,260 ---- } else { ! for (regno = 0; regno < NUM_REGS; regno++) { store_register (regno); } Index: gdb/infcmd.c =================================================================== RCS file: /cvs/src/src/gdb/infcmd.c,v retrieving revision 1.23 diff -p -r1.23 infcmd.c *** infcmd.c 2001/03/06 08:21:08 1.23 --- infcmd.c 2001/03/12 16:14:22 *************** void *** 1467,1473 **** do_registers_info (int regnum, int fpregs) { register int i; ! int numregs = ARCH_NUM_REGS; for (i = 0; i < numregs; i++) { --- 1467,1473 ---- do_registers_info (int regnum, int fpregs) { register int i; ! int numregs = NUM_REGS; for (i = 0; i < numregs; i++) { *************** registers_info (char *addr_exp, int fpre *** 1591,1597 **** end = addr_exp; while (*end != '\0' && *end != ' ' && *end != '\t') ++end; ! numregs = ARCH_NUM_REGS; regnum = target_map_name_to_register (addr_exp, end - addr_exp); if (regnum >= 0) --- 1591,1597 ---- end = addr_exp; while (*end != '\0' && *end != ' ' && *end != '\t') ++end; ! numregs = NUM_REGS; regnum = target_map_name_to_register (addr_exp, end - addr_exp); if (regnum >= 0) Index: gdb/inferior.h =================================================================== RCS file: /cvs/src/src/gdb/inferior.h,v retrieving revision 1.17 diff -p -r1.17 inferior.h *** inferior.h 2001/03/06 08:21:08 1.17 --- inferior.h 2001/03/12 16:14:24 *************** extern void write_inferior_status_regist *** 51,65 **** *inf_status, int regno, LONGEST val); - /* This macro gives the number of registers actually in use by the - inferior. This may be less than the total number of registers, - perhaps depending on the actual CPU in use or program being run. - FIXME: This could be replaced by the new MULTI_ARCH capability. */ - - #ifndef ARCH_NUM_REGS - #define ARCH_NUM_REGS NUM_REGS - #endif - extern void set_sigint_trap (void); extern void clear_sigint_trap (void); --- 51,56 ---- Index: gdb/infptrace.c =================================================================== RCS file: /cvs/src/src/gdb/infptrace.c,v retrieving revision 1.11 diff -p -r1.11 infptrace.c *** infptrace.c 2001/03/06 08:21:08 1.11 --- infptrace.c 2001/03/12 16:14:24 *************** fetch_inferior_registers (int regno) *** 423,429 **** } else { ! for (regno = 0; regno < ARCH_NUM_REGS; regno++) { fetch_register (regno); } --- 423,429 ---- } else { ! for (regno = 0; regno < NUM_REGS; regno++) { fetch_register (regno); } *************** store_inferior_registers (int regno) *** 487,493 **** } else { ! for (regno = 0; regno < ARCH_NUM_REGS; regno++) { store_register (regno); } --- 487,493 ---- } else { ! for (regno = 0; regno < NUM_REGS; regno++) { store_register (regno); } Index: gdb/regcache.c =================================================================== RCS file: /cvs/src/src/gdb/regcache.c,v retrieving revision 1.19 diff -p -r1.19 regcache.c *** regcache.c 2001/03/06 08:21:11 1.19 --- regcache.c 2001/03/12 16:14:24 *************** registers_changed (void) *** 163,169 **** gdb gives control to the user (ie watchpoints). */ alloca (0); ! for (i = 0; i < ARCH_NUM_REGS; i++) set_register_cached (i, 0); /* Assume that if all the hardware regs have changed, --- 163,169 ---- gdb gives control to the user (ie watchpoints). */ alloca (0); ! for (i = 0; i < NUM_REGS; i++) set_register_cached (i, 0); /* Assume that if all the hardware regs have changed, *************** registers_fetched (void) *** 185,191 **** { int i; ! for (i = 0; i < ARCH_NUM_REGS; i++) set_register_cached (i, 1); /* Do not assume that the pseudo-regs have also been fetched. Fetching all real regs might not account for all pseudo-regs. */ --- 185,191 ---- { int i; ! for (i = 0; i < NUM_REGS; i++) set_register_cached (i, 1); /* Do not assume that the pseudo-regs have also been fetched. Fetching all real regs might not account for all pseudo-regs. */ Index: gdb/stack.c =================================================================== RCS file: /cvs/src/src/gdb/stack.c,v retrieving revision 1.15 diff -p -r1.15 stack.c *** stack.c 2001/03/08 20:51:38 1.15 --- stack.c 2001/03/12 16:14:25 *************** frame_info (char *addr_exp, int from_tty *** 1001,1007 **** print_address_numeric (fi->saved_regs[SP_REGNUM], 1, gdb_stdout); printf_filtered ("\n"); count = 0; ! numregs = ARCH_NUM_REGS; for (i = 0; i < numregs; i++) if (fi->saved_regs[i] && i != SP_REGNUM) { --- 1001,1007 ---- print_address_numeric (fi->saved_regs[SP_REGNUM], 1, gdb_stdout); printf_filtered ("\n"); count = 0; ! numregs = NUM_REGS; for (i = 0; i < numregs; i++) if (fi->saved_regs[i] && i != SP_REGNUM) { Index: gdb/gdbserver/low-hppabsd.c =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/low-hppabsd.c,v retrieving revision 1.5 diff -p -r1.5 low-hppabsd.c *** low-hppabsd.c 2001/03/06 08:21:44 1.5 --- low-hppabsd.c 2001/03/12 16:14:25 *************** register_addr (int regno, CORE_ADDR bloc *** 150,156 **** { CORE_ADDR addr; ! if (regno < 0 || regno >= ARCH_NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); --- 150,156 ---- { CORE_ADDR addr; ! if (regno < 0 || regno >= NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); Index: gdb/gdbserver/low-linux.c =================================================================== RCS file: /cvs/src/src/gdb/gdbserver/low-linux.c,v retrieving revision 1.7 diff -p -r1.7 low-linux.c *** low-linux.c 2001/03/06 08:21:44 1.7 --- low-linux.c 2001/03/12 16:14:25 *************** register_addr (int regno, CORE_ADDR bloc *** 541,547 **** { CORE_ADDR addr; ! if (regno < 0 || regno >= ARCH_NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); --- 541,547 ---- { CORE_ADDR addr; ! if (regno < 0 || regno >= NUM_REGS) error ("Invalid register number %d.", regno); REGISTER_U_ADDR (addr, blockend, regno); Index: gdb/gdbtk/ChangeLog =================================================================== RCS file: /cvs/src/src/gdb/gdbtk/ChangeLog,v retrieving revision 1.47 diff -p -r1.47 ChangeLog *** ChangeLog 2001/03/01 20:11:27 1.47 --- ChangeLog 2001/03/12 16:14:25 *************** *** 1,3 **** --- 1,8 ---- + 2001-03-08 Andrew Cagney + + * generic/gdbtk-cmds.c (map_arg_registers): Use REG_NUM instead of + ARCH_REG_NUM. + 2001-03-01 Nicholas Duffek * README.GDBTK: Minor spelling, grammar, and formatting fixes. Index: gdb/gdbtk/generic/gdbtk-cmds.c =================================================================== RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-cmds.c,v retrieving revision 1.24 diff -p -r1.24 gdbtk-cmds.c *** gdbtk-cmds.c 2001/03/10 22:56:42 1.24 --- gdbtk-cmds.c 2001/03/12 16:14:28 *************** map_arg_registers (objc, objv, func, arg *** 1798,1804 **** case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = ARCH_NUM_REGS + NUM_PSEUDO_REGS; if (objc == 0) /* No args, just do all the regs */ { --- 1798,1804 ---- case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = NUM_REGS + NUM_PSEUDO_REGS; if (objc == 0) /* No args, just do all the regs */ { Index: gdb/mi/ChangeLog =================================================================== RCS file: /cvs/src/src/gdb/mi/ChangeLog,v retrieving revision 1.10 diff -p -r1.10 ChangeLog *** ChangeLog 2001/03/06 08:21:44 1.10 --- ChangeLog 2001/03/12 16:14:29 *************** *** 1,3 **** --- 1,11 ---- + 2001-03-08 Andrew Cagney + + * mi-main.c: + (mi_cmd_data_list_register_names): + (mi_cmd_data_list_changed_registers): + (mi_cmd_data_list_register_values): + (mi_cmd_data_write_register_values): + 2001-03-06 Kevin Buettner * gdbmi.texinfo, mi-cmd-disas.c, mi-cmd-stack.c, mi-cmd-var.c, Index: gdb/mi/mi-main.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-main.c,v retrieving revision 1.10 diff -p -r1.10 mi-main.c *** mi-main.c 2001/03/01 01:39:22 1.10 --- mi-main.c 2001/03/12 16:14:35 *************** mi_cmd_data_list_register_names (char *c *** 271,277 **** case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = ARCH_NUM_REGS; ui_out_list_begin (uiout, "register-names"); --- 271,277 ---- case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = NUM_REGS; ui_out_list_begin (uiout, "register-names"); *************** mi_cmd_data_list_changed_registers (char *** 321,327 **** case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = ARCH_NUM_REGS; ui_out_list_begin (uiout, "changed-registers"); --- 321,327 ---- case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = NUM_REGS; ui_out_list_begin (uiout, "changed-registers"); *************** mi_cmd_data_list_register_values (char * *** 415,421 **** case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = ARCH_NUM_REGS; if (argc == 0) { --- 415,421 ---- case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = NUM_REGS; if (argc == 0) { *************** mi_cmd_data_write_register_values (char *** 562,568 **** case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = ARCH_NUM_REGS; if (argc == 0) { --- 562,568 ---- case, some entries of REGISTER_NAME will change depending upon the particular processor being debugged. */ ! numregs = NUM_REGS; if (argc == 0) { Index: gdb/tui/ChangeLog =================================================================== RCS file: /cvs/src/src/gdb/tui/ChangeLog,v retrieving revision 1.12 diff -p -r1.12 ChangeLog *** ChangeLog 2001/03/06 08:22:01 1.12 --- ChangeLog 2001/03/12 16:14:35 *************** *** 1,3 **** --- 1,10 ---- + 2001-03-08 Andrew Cagney + + * tuiRegs.c (endif): + (endif): + (endif): + (endif): + 2001-03-06 Kevin Buettner * tui-file.h: Update/correct copyright notice. Index: gdb/tui/tuiRegs.c =================================================================== RCS file: /cvs/src/src/gdb/tui/tuiRegs.c,v retrieving revision 1.3 diff -p -r1.3 tuiRegs.c *** tuiRegs.c 2000/07/30 01:48:28 1.3 --- tuiRegs.c 2001/03/12 16:14:35 *************** _tuiSetSpecialRegsContent (refreshValues *** 717,723 **** endRegNum = FP0_REGNUM - 1; #if 0 endRegNum = (-1); ! for (i = START_SPECIAL_REGS; (i < ARCH_NUM_REGS && endRegNum < 0); i++) if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT) endRegNum = i - 1; #endif --- 717,723 ---- endRegNum = FP0_REGNUM - 1; #if 0 endRegNum = (-1); ! for (i = START_SPECIAL_REGS; (i < NUM_REGS && endRegNum < 0); i++) if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT) endRegNum = i - 1; #endif *************** _tuiSetGeneralAndSpecialRegsContent (ref *** 750,756 **** endRegNum = FP0_REGNUM - 1; #if 0 endRegNum = (-1); ! for (i = 0; (i < ARCH_NUM_REGS && endRegNum < 0); i++) if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT) endRegNum = i - 1; #endif --- 750,756 ---- endRegNum = FP0_REGNUM - 1; #if 0 endRegNum = (-1); ! for (i = 0; (i < NUM_REGS && endRegNum < 0); i++) if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT) endRegNum = i - 1; #endif *************** _tuiSetFloatRegsContent (dpyType, refres *** 781,792 **** startRegNum = FP0_REGNUM; #if 0 startRegNum = (-1); ! for (i = ARCH_NUM_REGS - 1; (i >= 0 && startRegNum < 0); i--) if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) != TYPE_CODE_FLT) startRegNum = i + 1; #endif ret = _tuiSetRegsContent (startRegNum, ! ARCH_NUM_REGS - 1, selected_frame, dpyType, refreshValuesOnly); --- 781,792 ---- startRegNum = FP0_REGNUM; #if 0 startRegNum = (-1); ! for (i = NUM_REGS - 1; (i >= 0 && startRegNum < 0); i--) if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) != TYPE_CODE_FLT) startRegNum = i + 1; #endif ret = _tuiSetRegsContent (startRegNum, ! NUM_REGS - 1, selected_frame, dpyType, refreshValuesOnly); >From kevinb@cygnus.com Mon Mar 12 16:08:00 2001 From: Kevin Buettner To: Michael Snyder Cc: gdb-patches@sources.redhat.com Subject: Re: [PATCH RFC] solib-svr4 cleanups Date: Mon, 12 Mar 2001 16:08:00 -0000 Message-id: <1010313000757.ZM14597@ocotillo.lan> References: <1010302200140.ZM22868@ocotillo.lan> <1010310063020.ZM4272@ocotillo.lan> <3AAD24ED.6038BBA8@cygnus.com> <1010312195449.ZM14150@ocotillo.lan> <3AAD5B9C.7C4EA0BC@cygnus.com> X-SW-Source: 2001-03/msg00175.html Content-length: 608 On Mar 12, 3:28pm, Michael Snyder wrote: > > The _SYSCALL32 define was only needed for the (legacy) link_map stuff. > > It has been moved to solib-legacy.c. > > OK, good. Sorry I haven't been following the discussion with full > attention. You've tested the new method on sparc64 solaris, then? I think so. I tried to verify it just now, but unfortunately I'm unable to login to the machine that I did my testing on. In any event, I ran into problems when I *didn't* have _SYSCALL32 defined in solib-legacy.h. When I moved the define from solib-svr4.c to solib-legacy.c, things worked fine. Kevin