* [PATCH/arm-linux] Fix thread debugging on ARM/Linux
@ 2001-10-24 12:25 Daniel Jacobowitz
2001-10-26 8:44 ` Daniel Jacobowitz
0 siblings, 1 reply; 2+ messages in thread
From: Daniel Jacobowitz @ 2001-10-24 12:25 UTC (permalink / raw)
To: gdb-patches; +Cc: scottb
I'm going to commit the attached as obvious in a day or two, unless someone
objects. fill_gregset () shouldn't just fill in the registers we already
have; it should fetch registers we don't have, and fill in all registers,
like it does on every other target. With this, thread debugging appears to
work on my ARM/Linux target (although the testsuite results are really quite
awful).
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
2001-10-24 Daniel Jacobowitz <drow@mvista.com>
* arm-linux-nat.c (fill_gregset): Do not check register_valid[].
(fill_fpregset): Likewise.
--- gdb-5.0.20010802/gdb/arm-linux-nat.c.orig Wed Oct 24 12:05:51 2001
+++ gdb-5.0.20010802/gdb/arm-linux-nat.c Wed Oct 24 12:11:41 2001
@@ -579,26 +579,18 @@ fill_gregset (gdb_gregset_t *gregsetp, i
{
int regnum;
for (regnum = A1_REGNUM; regnum <= PC_REGNUM; regnum++)
- if (register_valid[regnum])
- read_register_gen (regnum, (char *) &(*gregsetp)[regnum]);
+ read_register_gen (regnum, (char *) &(*gregsetp)[regnum]);
}
else if (regno >= A1_REGNUM && regno <= PC_REGNUM)
- {
- if (register_valid[regno])
- read_register_gen (regno, (char *) &(*gregsetp)[regno]);
- }
+ read_register_gen (regno, (char *) &(*gregsetp)[regno]);
if (PS_REGNUM == regno || -1 == regno)
{
- if (register_valid[regno] || -1 == regno)
- {
- if (arm_apcs_32)
- read_register_gen (PS_REGNUM, (char *) &(*gregsetp)[CPSR_REGNUM]);
- else
- read_register_gen (PC_REGNUM, (char *) &(*gregsetp)[PC_REGNUM]);
- }
+ if (arm_apcs_32)
+ read_register_gen (PS_REGNUM, (char *) &(*gregsetp)[CPSR_REGNUM]);
+ else
+ read_register_gen (PC_REGNUM, (char *) &(*gregsetp)[PC_REGNUM]);
}
-
}
/* Fill GDB's register array with the general-purpose register values
@@ -643,9 +635,8 @@ fill_fpregset (gdb_fpregset_t *fpregsetp
}
/* Store fpsr. */
- if (register_valid[FPS_REGNUM])
- if (FPS_REGNUM == regno || -1 == regno)
- read_register_gen (FPS_REGNUM, (char *) &fp->fpsr);
+ if (FPS_REGNUM == regno || -1 == regno)
+ read_register_gen (FPS_REGNUM, (char *) &fp->fpsr);
}
/* Fill GDB's register array with the floating-point register values
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH/arm-linux] Fix thread debugging on ARM/Linux
2001-10-24 12:25 [PATCH/arm-linux] Fix thread debugging on ARM/Linux Daniel Jacobowitz
@ 2001-10-26 8:44 ` Daniel Jacobowitz
0 siblings, 0 replies; 2+ messages in thread
From: Daniel Jacobowitz @ 2001-10-26 8:44 UTC (permalink / raw)
To: gdb-patches, scottb
On Wed, Oct 24, 2001 at 03:25:35PM -0400, Daniel Jacobowitz wrote:
> I'm going to commit the attached as obvious in a day or two, unless someone
> objects. fill_gregset () shouldn't just fill in the registers we already
> have; it should fetch registers we don't have, and fill in all registers,
> like it does on every other target. With this, thread debugging appears to
> work on my ARM/Linux target (although the testsuite results are really quite
> awful).
Committed, trunk and branch.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-10-26 8:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-24 12:25 [PATCH/arm-linux] Fix thread debugging on ARM/Linux Daniel Jacobowitz
2001-10-26 8:44 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox