info frame

Nick Roberts
2006-04-16T23:16:01Z

'info frame' says that the frame is at a different address (0xbffff710)
to $fp (0xbffff708). This wasn't the case with older versions e.g 5.2.1:

nickrob/31 gdb myprog
GNU gdb 5.2.1-2mdk (Mandrake Linux)
Copyright 2002 Free Software Foundation, Inc.
...
(gdb) inf frame
Stack level 0, frame at 0xbffff728:
eip = 0x80484a9 in main (myprog.c:47); saved eip 0x4006015a
called by frame at 0xbffff768
source language c.
Arglist at 0xbffff728, args: argc=1, argv=0xbffff794
Locals at 0xbffff728, Previous frame's sp is 0x0
Saved registers:
ebp at 0xbffff728, eip at 0xbffff72c
(gdb) p $fp
$1 = (void *) 0xbffff728

nickrob/32 src/gdb/gdb myprog
GNU gdb 6.4.50.20060405-cvs
Copyright (C) 2006 Free Software Foundation, Inc.
...
(gdb) info frame
Stack level 0, frame at 0xbffff710:
eip = 0x80484a9 in main (myprog.c:47); saved eip 0x4006015a
source language c.
Arglist at 0xbffff708, args: argc=1, argv=0xbffff774
Locals at 0xbffff708, Previous frame's sp is 0xbffff710
Saved registers:
ebp at 0xbffff708, eip at 0xbffff70c
(gdb) p $fp
$1 = (void *) 0xbffff708

Can this be right?

--
Nick http://www.inet.net.nz/~nickrob