PC and PSR on 26-bit ARM
Ben Harris
bjh21@netbsd.org
Mon Oct 22 17:27:00 GMT 2001
I'm trying to make GDB work happily on NetBSD/arm26, which runs on ancient
ARM processors, where the PC and PSR share R15. As far as I can tell, the
code in arm-linux-nat.c, when fetching registers subprocess on a 26-bit
CPU, puts the PC in registers[PC_REGNUM], and the PC+PSR in
registers[PS_REGNUM]. When putting registers back into the process, it
sets R15 (PC+PSR) from registers[PC_REGNUM] and ignores
registers[PS_REGNUM].
I suppose my question is: is this the intended behaviour? i.e. should I:
(1) do the same on NetBSD,
(2) accurately emulate a 32-bit CPU in 26-bit mode (splitting and
merging PC and PSR at the subprocess interface), or
(3) present GDB with the real state of the CPU?
I think my preference is for (2), since this saves complexity in the rest
of GDB.
--
Ben Harris <bjh21@netbsd.org>
Portmaster, NetBSD/arm26 <URL: http://www.netbsd.org/Ports/arm26/ >
More information about the Gdb
mailing list