Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* info on "value being assigned to is no longer active" error
@ 2008-01-19  4:12 Siva Velusamy
  2008-01-19  4:21 ` Daniel Jacobowitz
  0 siblings, 1 reply; 4+ messages in thread
From: Siva Velusamy @ 2008-01-19  4:12 UTC (permalink / raw)
  To: gdb

When writing to a register (msr) when the stack pointer or PC is
corrupt, gdb throws out the following error:

----
(gdb) p/x $rmsr
{ frame_register_unwind (frame=-1,regnum=33(rmsr),...) ->
*optimizedp=0 *lvalp=2 *addrp=0x84 *bufferp=[000000a0] }
{ get_frame_id (fi=0) { frame_func_unwind (fi=-1) -> 0x0 }
-> {!stack,!code,!special} }
$1 = 0xa0

(gdb) set $rmsr=0x0
{ frame_register_unwind (frame=-1,regnum=33(rmsr),...) ->
*optimizedp=0 *lvalp=2 *addrp=0x84 *bufferp=[000000a0] }
{ frame_id_p (l={!stack,!code,!special}) -> 0 }
Value being assigned to is no longer active.
-----

This sounds pretty similar to the issue reported here:
http://sourceware.org/ml/gdb/2005-05/msg00029.html

What I do not understand is why gdb is looking for a proper frame
before updating the register.

If my (admittedly cursory) examination of the code in valops.c is
correct, it appears as if gdb is looking for the frame to make sure
that it updates the value of the register if it has been stored in the
stack. Is that correct?

Thanks,
Siva
-- 
In the end, everything is a gag.
           Charlie Chaplin


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-01-19  4:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-19  4:12 info on "value being assigned to is no longer active" error Siva Velusamy
2008-01-19  4:21 ` Daniel Jacobowitz
2008-01-19  4:26   ` Siva Velusamy
2008-01-19  4:43     ` Daniel Jacobowitz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox