Modifying a verboten register
Shaun Jackman
sjackman@gmail.com
Thu May 4 14:45:00 GMT 2006
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
More information about the Gdb
mailing list