mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
4a94e36819
This commit brings all the changes made by running gdb/copyright.py as per GDB's Start of New Year Procedure. For the avoidance of doubt, all changes in this commits were performed by the script.
90 lines
3.1 KiB
Plaintext
90 lines
3.1 KiB
Plaintext
# Copyright 2011-2022 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/>.
|
|
|
|
# This file is a dejagnu "board file" and is used to run the testsuite
|
|
# with a remotehost and gdbserver using stdio for communicating through
|
|
# ssh. Certain firewalls prevent gdbserver from using the usual mechanism of
|
|
# listening on a remote port, so use stdio via ssh instead.
|
|
#
|
|
# To use this file:
|
|
# bash$ cd ${build_dir}/gdb
|
|
# bash$ make check RUNTESTFLAGS="--target_board=remote-stdio-gdbserver \
|
|
# REMOTE_USERNAME=... REMOTE_HOSTNAME=... REMOTE_PORTNUM=... \
|
|
# [REMOTE_TMPDIR=${remote_dir}] [GDBSERVER=${remote_gdbserver}]"
|
|
|
|
load_board_description "stdio-gdbserver-base"
|
|
|
|
# Test machine info. The generic_config gdbserver reads some of these
|
|
# values from board_info, so this file must set them there.
|
|
if [info exists REMOTE_USERNAME] {
|
|
set_board_info username $REMOTE_USERNAME
|
|
} else {
|
|
set_board_info username unspecified_username
|
|
}
|
|
if [info exists REMOTE_HOSTNAME] {
|
|
set_board_info hostname $REMOTE_HOSTNAME
|
|
} else {
|
|
set_board_info hostname unspecified_hostname
|
|
}
|
|
|
|
# The two programs have different syntax to set the remote port, so
|
|
# set it as part of the program name rather than in get_remote_login.
|
|
|
|
if [info exists REMOTE_PORTNUM] {
|
|
set_board_info portnum $REMOTE_PORTNUM
|
|
set_board_info rsh_prog "/usr/bin/ssh -p$REMOTE_PORTNUM"
|
|
set_board_info rcp_prog "/usr/bin/scp -P$REMOTE_PORTNUM"
|
|
} else {
|
|
set_board_info rsh_prog /usr/bin/ssh
|
|
set_board_info rcp_prog /usr/bin/scp
|
|
}
|
|
|
|
# Some remote machines don't have writable home directories.
|
|
if [info exists REMOTE_TMPDIR] {
|
|
set_board_info remotedir $REMOTE_TMPDIR
|
|
}
|
|
|
|
unset_board_info gdb_server_prog
|
|
if [info exists GDBSERVER] {
|
|
set_board_info gdb_server_prog $GDBSERVER
|
|
} else {
|
|
set_board_info gdb_server_prog /usr/bin/gdbserver
|
|
}
|
|
|
|
proc get_remote_login { } {
|
|
set result ""
|
|
if {[board_info [target_info name] exists username]} {
|
|
append result "[board_info [target_info name] username]@"
|
|
}
|
|
if {[board_info [target_info name] exists hostname]} {
|
|
append result "[board_info [target_info name] hostname]"
|
|
}
|
|
return $result
|
|
}
|
|
|
|
proc get_target_remote_pipe_cmd { } {
|
|
set target_exec [gdbserver_download_current_prog]
|
|
set rsh_cmd "[board_info [target_info name] rsh_prog] [get_remote_login]"
|
|
set gdbserver "[board_info [target_info name] gdb_server_prog]"
|
|
return "$rsh_cmd $gdbserver --once stdio $target_exec"
|
|
}
|
|
|
|
proc ${board}_file { dest op args } {
|
|
if { $op == "delete" } {
|
|
return [remote_exec target "rm -f $args"]
|
|
}
|
|
return [eval [list standard_file $dest $op] $args]
|
|
}
|