@@ -1,11 +1,11 @@ -BAD +GOOD (gdb) cont Continuing. { frame_id_eq (l={stack=0x408dc2cc,code=0x40102ef8,!special},r={stack=0x408dc2c c,code=0x40102ef8,!special}) -> 1 } { reinit_frame_cache () } { reinit_frame_cache () } -{ create_sentinel_frame (...) -> {level=-1,type=SENTINEL_FRAME,unwind=0x6983a0, pc=,id={!stack,!code,!special},func=} } +{ create_sentinel_frame (...) -> {level=-1,type=SENTINEL_FRAME,unwind=0x82d231c ,pc=,id={!stack,!code,!special},func=} } { frame_unwind_arch (next_frame=-1) -> lm32 } { get_prev_frame_1 (this_frame=-1) -> {level=0,type=,unwind=, pc=,id=,func=} } { frame_unwind_register_value (frame=-1,regnum=32(PC),...) -> register=32 bytes =[4014fe70] } @@ -33,17 +33,83 @@ { frame_unwind_register_value (frame=0,regnum=32(PC),...) -> address=0x408e8184 lazy } { frame_unwind_caller_pc (this_frame=0) -> 0x4011045c } { get_frame_id (fi=1) { get_frame_func (this_frame=1) -> 0x40110424 } -{ frame_unwind_register_value (frame=0,regnum=28(sp),...) -> computed bytes=[40 8d8220] } -{ frame_id_p (l={stack=0x408d8220,code=0x40110424,!special}) -> 1 } --> {stack=0x408d8220,code=0x40110424,!special} } +{ frame_unwind_register_value (frame=0,regnum=28(sp),...) -> computed bytes=[40 8e8220] } +{ frame_id_p (l={stack=0x408e8220,code=0x40110424,!special}) -> 1 } +-> {stack=0x408e8220,code=0x40110424,!special} } { frame_unwind_register_value (frame=0,regnum=11(r11),...) -> address=0x408e81c 4 lazy } { frame_unwind_register_value (frame=0,regnum=15(r15),...) -> address=0x408e81b 4 lazy } #1 0x4011045c in rtems_shell_get_prompt (shell_env=0x418d57dc, { frame_unwind_register_value (frame=0,regnum=14(r14),...) -> address=0x408e81b 8 lazy } prompt=0x418d5910 "[/] # ", size=128) at ../../../../../../c/src/../../cpukit/libmisc/shell/shell_getprompt.c:43 -{ get_prev_frame_1 (this_frame=1) { frame_id_eq (l={stack=0x408d8220,code=0x401 10424,!special},r={!stack,!code,special=0x0}) -> 0 } -{ frame_id_inner (l={stack=0x408d8220,code=0x40110424,!special},r={stack=0x408e 8180,code=0x4014fe28,!special}) -> 1 } --> // this frame ID is inner } -Backtrace stopped: previous frame inner to this frame (corrupt stack?) +{ get_prev_frame_1 (this_frame=1) { frame_id_eq (l={stack=0x408e8220,code=0x401 10424,!special},r={!stack,!code,special=0x0}) -> 0 } +{ frame_id_inner (l={stack=0x408e8220,code=0x40110424,!special},r={stack=0x408e 8180,code=0x4014fe28,!special}) -> 0 } +{ frame_id_eq (l={stack=0x408e8220,code=0x40110424,!special},r={stack=0x408e818 0,code=0x4014fe28,!special}) -> 0 } +{ frame_unwind_arch (next_frame=1) -> lm32 } +{ frame_unwind_register_value (frame=1,regnum=32(PC),...) -> address=0x408e8224 lazy } +{ frame_unwind_register_value (frame=0,regnum=32(PC),...) -> address=0x408e8184 lazy } +-> {level=2,type=,unwind=,pc=,id=,func=} } +{ frame_unwind_register_value (frame=1,regnum=32(PC),...) -> address=0x408e8224 lazy } +{ frame_unwind_caller_pc (this_frame=1) -> 0x4010f7d4 } ...