
This commit is the result of running the gdb/copyright.py script, which automated the update of the copyright year range for all source files managed by the GDB project to be updated to include year 2023.
89 lines
2.4 KiB
Text
89 lines
2.4 KiB
Text
# Copyright (C) 2011-2023 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
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# Specialized subroutines for launching gdb and testing the very first prompt.
|
|
|
|
|
|
#
|
|
# start gdb -- start gdb running, prompt procedure
|
|
# this procedure differs from the default in that you must pass 'set height 0',
|
|
# and 'set width 0', yourself in GDBFLAGS, and it has a gdb_prompt_fail variable,
|
|
#
|
|
# uses pass if it sees $gdb_prompt, and fail if it sees $gdb_prompt_fail.
|
|
#
|
|
proc default_prompt_gdb_start { } {
|
|
global GDB
|
|
global INTERNAL_GDBFLAGS GDBFLAGS
|
|
global gdb_prompt
|
|
global gdb_prompt_fail
|
|
global timeout
|
|
global gdb_spawn_id
|
|
|
|
verbose "Spawning $GDB $INTERNAL_GDBFLAGS $GDBFLAGS"
|
|
|
|
if [info exists gdb_spawn_id] {
|
|
return 0
|
|
}
|
|
|
|
if ![is_remote host] {
|
|
if {[which $GDB] == 0} {
|
|
perror "$GDB does not exist."
|
|
exit 1
|
|
}
|
|
}
|
|
set res [remote_spawn host "$GDB $INTERNAL_GDBFLAGS $GDBFLAGS [host_info gdb_opts]"]
|
|
if { $res < 0 || $res == "" } {
|
|
perror "Spawning $GDB failed."
|
|
return 1
|
|
}
|
|
gdb_expect 360 {
|
|
-re ".*$gdb_prompt_fail.*$gdb_prompt_fail.*" {
|
|
fail "double prompted fail prompt"
|
|
}
|
|
-re ".*$gdb_prompt.*$gdb_prompt.*" {
|
|
fail "double prompted"
|
|
}
|
|
-re "\[\r\n\]$gdb_prompt_fail $" {
|
|
fail "GDB initializing first prompt"
|
|
}
|
|
-re "\[\r\n\]$gdb_prompt $" {
|
|
pass "GDB initializing first prompt"
|
|
}
|
|
-re "$gdb_prompt $" {
|
|
perror "GDB never initialized."
|
|
return -1
|
|
}
|
|
-re "$gdb_prompt_fail $" {
|
|
perror "GDB never initialized."
|
|
return -1
|
|
}
|
|
timeout {
|
|
perror "(timeout) GDB never initialized after 10 seconds."
|
|
remote_close host
|
|
return -1
|
|
}
|
|
}
|
|
set gdb_spawn_id $res
|
|
return 0
|
|
}
|
|
|
|
#
|
|
# Overridable function. You can override this function in your
|
|
# baseboard file.
|
|
#
|
|
proc prompt_gdb_start { } {
|
|
default_prompt_gdb_start
|
|
}
|
|
|