diff options
Diffstat (limited to 'gdb/testsuite/gdb.arch/thumb-prologue.exp')
-rw-r--r-- | gdb/testsuite/gdb.arch/thumb-prologue.exp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.arch/thumb-prologue.exp b/gdb/testsuite/gdb.arch/thumb-prologue.exp index e685bc5..39b61c4 100644 --- a/gdb/testsuite/gdb.arch/thumb-prologue.exp +++ b/gdb/testsuite/gdb.arch/thumb-prologue.exp @@ -59,3 +59,30 @@ gdb_test "backtrace 10" \ gdb_test "info frame" \ ".*Saved registers:.*r7 at.*r10 at.*r11 at.*lr at.*" \ "saved registers in TPCS" + + +# Testcase for "switching" the stack to the same stack in the prologue. + +gdb_breakpoint "switch_stack_to_same" + +gdb_test "continue" "Breakpoint .*, $hex in switch_stack_to_same \\(\\)" \ + "continue to switch_stack_to_same" + +gdb_test "stepi 2" "in write_sp \\(\\)" "stepi over mov sp, sp" + +gdb_test "backtrace 10" \ + "#0\[ \t\]*$hex in write_sp .*\r\n#1\[ \t\]*$hex in switch_stack_to_same .*\r\n#2\[ \t\]*$hex in main.*" \ + "backtrace in write_sp" + +# Testcase for switching to another stack in the prologue. + +gdb_breakpoint "switch_stack_to_other" + +gdb_test "continue" "Breakpoint .*, $hex in switch_stack_to_other \\(\\)" \ + "continue to switch_stack_to_other" + +gdb_test "stepi 2" "in write_sp \\(\\)" "stepi over mov sp, 128" + +gdb_test "backtrace 10" \ + "#0\[ \t\]*$hex in write_sp .*\r\n#1\[ \t\]*$hex in switch_stack_to_other .*\r\n#2\[ \t\]*$hex in main.*" \ + "backtrace in write_sp" |