This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: next
On Tue, 2009-07-07 at 17:23 +0530, nagaraju.m wrote:
> Hi Bennett,
>
> Please look at the following program and its concerned GDB
> output.
Hi Nagaraju M,
It would be *really* helpful to see this output with
"set debug infrun 1"
before you use the "next" command. That way we can see where infrun
thinks it is.
How are you executing GDB? Are you using any command line flags?
It seems like "next" is working, except when you try to step past a
function call, when it behaves like "step".
I've inserted some comments below, which may help.
Jeremy
> *Program*:
> int abc(int p,int q)
> {
> int r;
> r = p + q;
> return r;
> }
>
> int main()
> {
> int a=10,b=20,c;
> c = abc(a,b);
> return 0;
> }
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------
> *
> GDB output*
>
> This GDB was configured as "--host=i686-pc-linux-gnu
> --target=rpine-elf32"...
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> (gdb) *tar sim*
> Connected to the simulator.
> (gdb) *load*
> Loading section .text, size 0x330 lma 0x0
> Loading section .data, size 0x38c lma 0x330
> Start address 0x100
> Transfer rate: 13792 bits in <1 sec.
> (gdb) *b main*
> Breakpoint 1 at 0x160: file a3.c, line 10.
> (gdb) *run*
> Starting program: /work/a.out
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { frame_id_p (l={!stack,!code,!special}) -> 0 }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x160) }
>
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> Breakpoint 1, main () at a3.c:10
> warning: Source file is more recent than executable.
> 10 int a=10,b=20,c;
>
This looks good behavior
BUT.....
The warning about the source file being more recent than the executable
is alarming. Are you *sure* you are debugging the executable you think
you are? Did you really mean to use "run" and not "continue" after
loading the executable?
As a check, recompile your executable, and check that you can debug it
without this warning. If not, you are picking up the wrong executable.
> (gdb) *next*
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_func_unwind (fi=-1) -> 0x158 }
> -> {stack=0x6dec0,code=0x158,!special} }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[6c010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x16c }
> { frame_func_unwind (fi=-1) -> 0x158 }
> -> {stack=0x6dec0,code=0x158,!special} }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 1 }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x16c) }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 1 }
> *11 c = abc(a,b);*
This is also correct behavior
>
> *(gdb) next*
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[34010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x134 }
> { frame_func_unwind (fi=-1) -> 0x134 }
> -> {stack=0x6dec0,code=0x134,!special} }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x134,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 0 }
> { get_prev_frame_1 (this_frame=0) { frame_id_p
> (l={stack=0x6dec0,code=0x134,!special}) -> 1 }
> ->
> {level=1,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=1) { frame_register_unwind
> (frame=0,regnum=14(r14),...) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> -> *optimizedp=0 *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=0,regnum=16(pc),...) {
> frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[34010000] }
> -> *optimizedp=0 *lvalp=2 *addrp=0x0 *bufferp=[34010000] }
> { frame_pc_unwind (this_frame=0) -> 0x134 }
> { frame_func_unwind (fi=0) -> 0x122 }
> -> {stack=0x6dec0,code=0x122,!special} }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x122,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 0 }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x134) }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dec0,code=0x134,!special})
> -> 0 }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> abc (p=0, q=0) at a3.c:2
> 2 {
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[3c010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x13c }
> { frame_func_unwind (fi=-1) -> 0x134 }
> -> {stack=0x6dea4,code=0x134,!special} }
> { frame_id_eq
> (l={stack=0x6dea4,code=0x134,!special},r={stack=0x6dec0,code=0x134,!special})
> -> 0 }
> { get_prev_frame_1 (this_frame=0) { frame_id_p
> (l={stack=0x6dea4,code=0x134,!special}) -> 1 }
> ->
> {level=1,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=1) { frame_register_unwind
> (frame=0,regnum=14(r14),...) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> -> *optimizedp=0 *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=0,regnum=16(pc),...) {
> frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[3c010000] }
> -> *optimizedp=0 *lvalp=2 *addrp=0x0 *bufferp=[3c010000] }
> { frame_pc_unwind (this_frame=0) -> 0x13c }
> { frame_func_unwind (fi=0) -> 0x134 }
> -> {stack=0x6dea4,code=0x134,!special} }
> { frame_id_eq
> (l={stack=0x6dea4,code=0x134,!special},r={stack=0x6dec0,code=0x134,!special})
> -> 0 }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x13c) }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x134,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 0 }
At this point, I think GDB believes it has completed the "next", and is
extracting information from the stack frame, so it can print out details
of where it is.
In this case at the start of function "abc" (which is not what was
expected).
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> abc (p=10,
OK - it's got the correct value for argument p.
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[a4de0600] }
> q=20, 450240, 380, 10, 20, 0, 20, 10, 0, 302, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0) at a3.c:4
It's got the correct value for argument "q", but what are all these
other arguments it thinks are on the stack. "abc" has only two arguments
- no varargs at the end.
This looks like a corrupt interpretation of the stack.
I'm surprised at the number of registers being unwound from the stack,
but without knowing your ABI and architecture, can't tell if there is
anything surprising there.
> 4 *r = p + q;*
>
> (gdb) *next*
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[4a010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x14a }
> { frame_func_unwind (fi=-1) -> 0x134 }
> -> {stack=0x6dea4,code=0x134,!special} }
> { frame_id_eq
> (l={stack=0x6dea4,code=0x134,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 1 }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x14a) }
> { frame_id_eq
> (l={stack=0x6dea4,code=0x134,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 1 }
> 5 return r;
>
> (gdb) *next*
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[a4de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[4e010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x14e }
> { frame_func_unwind (fi=-1) -> 0x134 }
> -> {stack=0x6dea4,code=0x134,!special} }
> { frame_id_eq
> (l={stack=0x6dea4,code=0x134,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 1 }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x14e) }
> { frame_id_eq
> (l={stack=0x6dea4,code=0x134,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 1 }
> 6 }
>
> (gdb) *next*
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[7c010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x17c }
> { frame_func_unwind (fi=-1) -> 0x158 }
> -> {stack=0x6dec0,code=0x158,!special} }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 0 }
> { get_prev_frame_1 (this_frame=0) { frame_id_p
> (l={stack=0x6dec0,code=0x158,!special}) -> 1 }
> ->
> {level=1,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=1) { frame_register_unwind
> (frame=0,regnum=14(r14),...) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> -> *optimizedp=0 *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=0,regnum=16(pc),...) {
> frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[7c010000] }
> -> *optimizedp=0 *lvalp=2 *addrp=0x0 *bufferp=[7c010000] }
> { frame_pc_unwind (this_frame=0) -> 0x17c }
> { frame_func_unwind (fi=0) -> 0x158 }
> -> {stack=0x6dec0,code=0x158,!special} }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dea4,code=0x134,!special})
> -> 0 }
> { frame_id_inner
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 0 }
> { reinit_frame_cache () }
> { reinit_frame_cache () }
> { create_sentinel_frame (...) -> {level=-1,type=<unknown
> type>,unwind=0x82a7350,pc=<unknown>,id={!stack,!code,!special},func=<unknown>}
> }
> { get_prev_frame_1 (this_frame=-1) ->
> {level=0,type=<unknown>,unwind=<unknown>,pc=<unknown>,id=<unknown>,func=<unknown>}
> }
> { get_frame_id (fi=0) { frame_register_unwind
> (frame=-1,regnum=14(r14),...) -> *optimizedp=0 *lvalp=2 *addrp=0x0
> *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=16(pc),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[80010000] }
> { frame_pc_unwind (this_frame=-1) -> 0x180 }
> { frame_func_unwind (fi=-1) -> 0x158 }
> -> {stack=0x6dec0,code=0x158,!special} }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 1 }
> { deprecated_update_frame_pc_hack (frame=0,pc=0x180) }
> { frame_id_eq
> (l={stack=0x6dec0,code=0x158,!special},r={stack=0x6dec0,code=0x158,!special})
> -> 1 }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> main () at a3.c:12
> 12 return 0;
>
> (gdb) *p c*
> { frame_register_unwind (frame=-1,regnum=14(r14),...) -> *optimizedp=0
> *lvalp=2 *addrp=0x0 *bufferp=[c0de0600] }
> *$2 = 30*
At least you got the right answer!
>
--
Tel: +44 (1590) 610184
Cell: +44 (7970) 676050
SkypeID: jeremybennett
Email: jeremy.bennett@embecosm.com
Web: www.embecosm.com