# This testcase is part of GDB, the GNU debugger.
-# Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 2008, 2009,
-# 2010 Free Software Foundation, Inc.
+# Copyright 1997-2004, 2007-2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
gdb_test "" ".*Breakpoint.*1.*callee.*14.*" "run"
gdb_test "cle" ".*Deleted breakpoints 1 2.*" "clear worked"
-send_gdb "i b\n"
-gdb_expect {
+gdb_test_multiple "i b" "cleared bp at line before routine" {
-re ".* breakpoint .* breakpoint .*$gdb_prompt $" {
fail "cleared bp at line before routine"
}
-re ".*3.*main.*31.*$gdb_prompt $" {
pass "cleared bp at line before routine"
}
- -re ".*$gdb_prompt $" {
- fail "cleared bp at line before routine (info b)"
- }
}
# Test some other "clear" combinations
gdb_test "cle ending-run.c:14" \
".*Deleted breakpoint 5.*" "Cleared 2 by line"
-send_gdb "info line ending-run.c:14\n"
-gdb_expect {
+gdb_test_multiple "info line ending-run.c:14" "" {
-re ".*address (0x\[0-9a-fA-F]*).*$gdb_prompt $" {
set line_nine $expect_out(1,string)
gdb_test "b ending-run.c:14" ".*Breakpoint 6.*ending-run.c, line 14.*"
}
}
-send_gdb "i b\n"
-gdb_expect {
+gdb_test_multiple "i b" "all set to continue" {
-re ".* breakpoint .* breakpoint .*$gdb_prompt $" {
fail "all set to continue (didn't clear bps)"
}
gdb_test "next" ".*Goodbye!.*32.*" \
"Step to return"
} else {
- gdb_test "next" "" ""
+ gdb_test "next" ".*" ""
}
set old_timeout $timeout
set timeout 50
set program_exited 0
-send_gdb "next\n"
set nexted 0
-gdb_expect {
+
+gdb_test_multiple "next" "step out of main" {
-re "33\[ \t\]+\}.*$gdb_prompt $" {
# sometimes we stop at the closing brace, if so, do another next
if { $nexted } {
# This is what happens on mingw32ce.
pass "step out of main"
}
- -re ".*Program exited normally.*$gdb_prompt $" {
+ -re ".*$inferior_exited_re normally.*$gdb_prompt $" {
# This is what happens on Linux i86 (and I would expect others)
set program_exited 1
pass "step out of main"
# This is what happens on ARM in thumb mode -fn 2000-02-01
pass "step out of main"
}
- -re ".*__rt_entry ().*$gdb_prompt $" {
+ -re ".*__rt_entry.* ().*$gdb_prompt $" {
# This is what happens on the ARM RVDS runtime
pass "step out of main"
}
# another `next' is necessary.
gdb_test "next" ".*in start_l ().*" "step out of main"
}
+ -re "E32Main (.*).*$gdb_prompt $" {
+ # On SymbianOS there's a different function which calls main.
+ pass "step out of main"
+ }
-re ".*in.*currently asm.*$gdb_prompt $" {
pass "step out of main"
}
-re ".*Program received signal SIGTRAP.*$gdb_prompt $" {
pass "step out of main"
}
- -re ".*$gdb_prompt $" { fail "step out of main" }
- timeout { fail "step out of main" }
+ -re ".*in.*__uClibc_main.*$gdb_prompt $" {
+ # This is what happens on system using uClibc.
+ pass "step out of main"
+ }
}
# When we're talking to a program running on a real stand-alone board,
set program_exited_normally 0
set program_not_exited 0
set program_in_exit 0
-if {! [target_info exists use_gdb_stub]
+if {!$use_gdb_stub
&& (! [target_info exists use_cygmon] || ! [target_info use_cygmon])} {
global program_exited;
if {[eval expr $program_exited == 0]} {
- send_gdb "n\n"
- gdb_expect {
- -re "Program exited normally.*$gdb_prompt $" {
+ gdb_test_multiple "n" "step to end of run" {
+ -re "$inferior_exited_re normally.*$gdb_prompt $" {
# If we actually have debug info for the start function,
# then we won't get the "Single-stepping until function
# exit" message.
pass "step to end of run"
set program_exited_normally 1
}
- -re "Single.*EXIT code 0\r\n.*Program exited normally.*$gdb_prompt $" {
+ -re "Single.*EXIT code 0\r\n.*$inferior_exited_re normally.*$gdb_prompt $" {
pass "step to end of run (status wrapper)"
set program_exited_normally 1
}
-re "Single.*EXIT code 0\r\n.*$gdb_prompt $" {
pass "step to end of run (status wrapper)"
}
- -re ".*Single.*Program exited.*$gdb_prompt $" {
+ -re ".*Single.*$inferior_exited_re.*$gdb_prompt $" {
pass "step to end of run"
set program_exited_normally 1
}
set program_exited_normally 1
}
}
- -re ".*$gdb_prompt $" {
- fail "step to end of run"
- set program_not_exited 1
- }
- timeout {
- fail "(timeout) step to end of run"
- set program_not_exited 1
- }
}
}