This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Modifying a verboten register
- From: "Shaun Jackman" <sjackman at gmail dot com>
- To: gdb at sources dot redhat dot com
- Date: Thu, 4 May 2006 08:45:44 -0600
- Subject: Modifying a verboten register
- Reply-to: "Shaun Jackman" <sjackman at gmail dot com>
Targetted for arm-elf, gdb does not let me modify the cpsr register
outside of a "normal" frame.
(gdb) p/x $cpsr=0x3f
Value being assigned to is no longer active.
I first reported this bug one year ago on 2005-04-20. So first thing
first, a wee anniversary party for the bug. *weeeeeeeeezzzzzzzzzzzzz*
(That was a noise maker.)
Parties aside, the JTAG interface I use (BDI2000) has a command mode
(Telnet interface) that I can use to modify the register. GDB seems to
cache its view of the registers though.
(gdb) p/x $cpsr
$1 = 0xd7
[in a galaxy far, far away]
BDI>rm cpsr 0x3f
BDI>rd cpsr
cpsr: 0x0000003f 63
(gdb) p/x $cpsr
$2 = 0xd7
I don't really expect two separate tools to cooperate to debug the
same core, but I'm scrambling for some (any) workaround to the above
bug. I quite literally see it *every* day. It makes my head hurt.
Cheers,
Shaun