Re: Writing regs to corefile

Daniel Jacobowitz
2005-04-25T20:44:54Z

On Mon, Apr 25, 2005 at 04:36:13PM -0400, Jon Ringle wrote:
> (gdb) bt
> #0 0x401672d8 in _IO_vfprintf (s=0x1d, format=0x20c3afc "\n*** PID %d returning from signal %d @ pc %08x lr %08x\n", ap=Cannot access memory at address 0xbee01f44
> ) at vfprintf.c:209
> #1 0x40175d5c in _IO_vsprintf (string=0x20f7aa8 "\n*** PID 79 returning from signal 13 @ pc 401b9304 lr 401039d8\n",
> format=0x20c3afc "\n*** PID %d returning from signal %d @ pc %08x lr %08x\n", args=0xbee0252c) at iovsprintf.c:47
> #2 0x020ba51c in dbgPrintf (fmt=0x20c3afc "\n*** PID %d returning from signal %d @ pc %08x lr %08x\n") at dbgprint.c:184
> #3 0x0200b278 in client_sigaction (sig=13, psi=0xbee02624, arg=0xbee026a4) at signals.c:103
> #4 0x40101fc8 in pthread_sighandler_rt (signo=13, si=0xbee02624, uc=0xbee026a4) at signals.c:119
> #5 <signal handler called>
> Previous frame inner to this frame (corrupt stack?)

Well, that's not supposed to happen. You want to figure out why it
did...

> I can't seem to write directly to the core file register set from within gdb
> (which is why I was hand editing the core file):
> (gdb) set $r0 = 0xffffffe4
> You can't do that without a process to debug.

Yeah. This is a bit unfortunate. Maybe we should allow the loaded
copy of the registers to be changed.

--
Daniel Jacobowitz
CodeSourcery, LLC