This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
PC and PSR on 26-bit ARM
- To: <gdb at sources dot redhat dot com>
- Subject: PC and PSR on 26-bit ARM
- From: Ben Harris <bjh21 at netbsd dot org>
- Date: Tue, 23 Oct 2001 01:27:23 +0100 (BST)
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/>