aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib/gdb.exp
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/lib/gdb.exp')
-rw-r--r--gdb/testsuite/lib/gdb.exp118
1 files changed, 1 insertions, 117 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 1a9270d..633dc26 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -268,13 +268,6 @@ proc gdb_run_cmd {args} {
}
}
}
- if [target_info exists gdb_stub] {
- gdb_expect 60 {
- -re "$gdb_prompt $" {
- send_gdb "continue\n"
- }
- }
- }
return
}
@@ -456,26 +449,12 @@ proc runto { function args } {
}
# Ask gdb to run until we hit a breakpoint at main.
-# The case where the target uses stubs has to be handled
-# specially--if it uses stubs, assuming we hit
-# breakpoint() and just step out of the function.
#
# N.B. This function deletes all existing breakpoints.
# If you don't want that, use gdb_start_cmd.
proc runto_main { } {
- global gdb_prompt
- global decimal
-
- if ![target_info exists gdb_stub] {
- return [runto main]
- }
-
- delete_breakpoints
-
- gdb_step_for_stub;
-
- return 1
+ return [runto main]
}
### Continue, and expect to hit a breakpoint.
@@ -2294,14 +2273,8 @@ proc gdb_compile {source dest type options} {
}
set options $new_options
- if [target_info exists gdb_stub] {
- set options2 { "additional_flags=-Dusestubs" }
- lappend options "libs=[target_info gdb_stub]";
- set options [concat $options2 $options]
- }
if [target_info exists is_vxworks] {
set options2 { "additional_flags=-Dvxworks" }
- lappend options "libs=[target_info gdb_stub]";
set options [concat $options2 $options]
}
if [info exists GDB_TESTCASE_OPTIONS] {
@@ -3166,91 +3139,6 @@ proc setup_kfail_for_target { PR target } {
}
}
-# Test programs for embedded (often "bare board") systems sometimes use a
-# "stub" either embedded in the test program itself or in the boot rom.
-# The job of the stub is to implement the remote protocol to communicate
-# with gdb and control the inferior. To initiate the remote protocol
-# session with gdb the stub needs to be given control by the inferior.
-# They do this by calling a function that typically triggers a trap
-# from main that transfers control to the stub.
-# The purpose of this function, gdb_step_for_stub, is to step out of
-# that function ("breakpoint" in the example below) and back into main.
-#
-# Example:
-#
-# int
-# main ()
-# {
-# #ifdef usestubs
-# set_debug_traps (); /* install trap handlers for stub */
-# breakpoint (); /* trigger a trap to give the stub control */
-# #endif
-# /* test program begins here */
-# }
-#
-# Note that one consequence of this design is that a breakpoint on "main"
-# does not Just Work (because if the target could stop there you still have
-# to step past the calls to set_debug_traps,breakpoint).
-
-proc gdb_step_for_stub { } {
- global gdb_prompt;
-
- if ![target_info exists gdb,use_breakpoint_for_stub] {
- if [target_info exists gdb_stub_step_command] {
- set command [target_info gdb_stub_step_command];
- } else {
- set command "step";
- }
- send_gdb "${command}\n";
- set tries 0;
- gdb_expect 60 {
- -re "(main.* at |.*in .*start).*$gdb_prompt" {
- return;
- }
- -re ".*$gdb_prompt" {
- incr tries;
- if { $tries == 5 } {
- fail "stepping out of breakpoint function";
- return;
- }
- send_gdb "${command}\n";
- exp_continue;
- }
- default {
- fail "stepping out of breakpoint function";
- return;
- }
- }
- }
- send_gdb "where\n";
- gdb_expect {
- -re "main\[^\r\n\]*at \(\[^:]+\):\(\[0-9\]+\)" {
- set file $expect_out(1,string);
- set linenum [expr $expect_out(2,string) + 1];
- set breakplace "${file}:${linenum}";
- }
- default {}
- }
- send_gdb "break ${breakplace}\n";
- gdb_expect 60 {
- -re "Breakpoint (\[0-9\]+) at.*$gdb_prompt" {
- set breakpoint $expect_out(1,string);
- }
- -re "Breakpoint (\[0-9\]+): file.*$gdb_prompt" {
- set breakpoint $expect_out(1,string);
- }
- default {}
- }
- send_gdb "continue\n";
- gdb_expect 60 {
- -re "Breakpoint ${breakpoint},.*$gdb_prompt" {
- gdb_test "delete $breakpoint" ".*" "";
- return;
- }
- default {}
- }
-}
-
# gdb_get_line_number TEXT [FILE]
#
# Search the source file FILE, and return the line number of the
@@ -3709,10 +3597,6 @@ proc clean_restart { executable } {
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-
- if [target_info exists gdb_stub] {
- gdb_step_for_stub;
- }
}
# Prepares for testing, by calling build_executable, and then clean_restart.