This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] arm linux nat and regcache
Scott Bambrough wrote:
>
> This is ok to commit.
Committed.
>
> -----Original Message-----
> From: Michael Snyder [mailto:msnyder@cygnus.com]
> Sent: January 7, 2002 21:28
> To: gdb-patches@sources.redhat.com
> Cc: drow@mvista.com; kevinb@redhat.com
> Subject: [RFA] arm linux nat and regcache
>
> 2002-01-07 Michael Snyder <msnyder@redhat.com>
>
> * arm-linux-nat.c: Remove references to regcache.c internal data
> (registers[] and register_valid[]).
>
> Index: arm-linux-nat.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/arm-linux-nat.c,v
> retrieving revision 1.14
> diff -p -r1.14 arm-linux-nat.c
> *** arm-linux-nat.c 2001/11/17 20:31:18 1.14
> --- arm-linux-nat.c 2002/01/08 02:26:03
> *************** store_nwfpe_extended (unsigned int fn, F
> *** 194,200 ****
> void
> store_nwfpe_register (int regno, FPA11 * fpa11)
> {
> ! if (register_valid[regno])
> {
> unsigned int fn = regno - F0_REGNUM;
> switch (fpa11->fType[fn])
> --- 194,200 ----
> void
> store_nwfpe_register (int regno, FPA11 * fpa11)
> {
> ! if (register_cached (regno))
> {
> unsigned int fn = regno - F0_REGNUM;
> switch (fpa11->fType[fn])
> *************** store_nwfpe_register (int regno, FPA11 *
> *** 216,222 ****
>
>
> /* Get the value of a particular register from the floating point
> ! state of the process and store it into registers[]. */
>
> static void
> fetch_fpregister (int regno)
> --- 216,222 ----
>
>
> /* Get the value of a particular register from the floating point
> ! state of the process and store it into regcache. */
>
> static void
> fetch_fpregister (int regno)
> *************** fetch_fpregister (int regno)
> *** 265,271 ****
> }
>
> /* Get the whole floating point state of the process and store it
> ! into registers[]. */
>
> static void
> fetch_fpregs (void)
> --- 265,271 ----
> }
>
> /* Get the whole floating point state of the process and store it
> ! into regcache. */
>
> static void
> fetch_fpregs (void)
> *************** fetch_fpregs (void)
> *** 313,319 ****
> }
>
> /* Save a particular register into the floating point state of the
> ! process using the contents from registers[]. */
>
> static void
> store_fpregister (int regno)
> --- 313,319 ----
> }
>
> /* Save a particular register into the floating point state of the
> ! process using the contents from regcache. */
>
> static void
> store_fpregister (int regno)
> *************** store_fpregister (int regno)
> *** 333,339 ****
> }
>
> /* Store fpsr. */
> ! if (FPS_REGNUM == regno && register_valid[FPS_REGNUM])
> read_register_gen (FPS_REGNUM, (char *) &fp.fpsr);
>
> /* Store the floating point register. */
> --- 333,339 ----
> }
>
> /* Store fpsr. */
> ! if (FPS_REGNUM == regno && register_cached (FPS_REGNUM))
> read_register_gen (FPS_REGNUM, (char *) &fp.fpsr);
>
> /* Store the floating point register. */
> *************** store_fpregister (int regno)
> *** 351,357 ****
> }
>
> /* Save the whole floating point state of the process using
> ! the contents from registers[]. */
>
> static void
> store_fpregs (void)
> --- 351,357 ----
> }
>
> /* Save the whole floating point state of the process using
> ! the contents from regcache. */
>
> static void
> store_fpregs (void)
> *************** store_fpregs (void)
> *** 371,377 ****
> }
>
> /* Store fpsr. */
> ! if (register_valid[FPS_REGNUM])
> read_register_gen (FPS_REGNUM, (char *) &fp.fpsr);
>
> /* Store the floating point registers. */
> --- 371,377 ----
> }
>
> /* Store fpsr. */
> ! if (register_cached (FPS_REGNUM))
> read_register_gen (FPS_REGNUM, (char *) &fp.fpsr);
>
> /* Store the floating point registers. */
> *************** store_fpregs (void)
> *** 389,395 ****
> }
>
> /* Fetch a general register of the process and store into
> ! registers[]. */
>
> static void
> fetch_register (int regno)
> --- 389,395 ----
> }
>
> /* Fetch a general register of the process and store into
> ! regcache. */
>
> static void
> fetch_register (int regno)
> *************** fetch_register (int regno)
> *** 426,432 ****
> }
>
> /* Fetch all general registers of the process and store into
> ! registers[]. */
>
> static void
> fetch_regs (void)
> --- 426,432 ----
> }
>
> /* Fetch all general registers of the process and store into
> ! regcache. */
>
> static void
> fetch_regs (void)
> *************** fetch_regs (void)
> *** 457,463 ****
> }
>
> /* Store all general registers of the process from the values in
> ! registers[]. */
>
> static void
> store_register (int regno)
> --- 457,463 ----
> }
>
> /* Store all general registers of the process from the values in
> ! regcache. */
>
> static void
> store_register (int regno)
> *************** store_register (int regno)
> *** 465,471 ****
> int ret, tid;
> elf_gregset_t regs;
>
> ! if (!register_valid[regno])
> return;
>
> /* Get the thread id for the ptrace call. */
> --- 465,471 ----
> int ret, tid;
> elf_gregset_t regs;
>
> ! if (!register_cached (regno))
> return;
>
> /* Get the thread id for the ptrace call. */
> *************** store_regs (void)
> *** 509,515 ****
>
> for (regno = A1_REGNUM; regno <= PC_REGNUM; regno++)
> {
> ! if (register_valid[regno])
> read_register_gen (regno, (char *) ®s[regno]);
> }
>
> --- 509,515 ----
>
> for (regno = A1_REGNUM; regno <= PC_REGNUM; regno++)
> {
> ! if (register_cached (regno))
> read_register_gen (regno, (char *) ®s[regno]);
> }
>