# Copyright (C) 2012-2024 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/>.

load_lib gdbserver-support.exp

# We test for allow_shlib_tests in this test because without a main
# exec file we only have the exec target loaded if shared libraries
# are present.
require allow_gdbserver_tests allow_shlib_tests

standard_testfile server.c
if [prepare_for_testing "failed to prepare" ${testfile} ${srcfile}] {
    return -1
}

# Make sure we're disconnected, in case we're testing with an
# extended-remote board, therefore already connected.
gdb_test "disconnect" ".*"

gdb_test \
    "set remote pid-to-exec-file-packet off" \
    "Support for the 'qXfer:exec-file:read' packet on future remote targets is set to \"off\"."

gdb_test "file" ".*" "file" \
	 {Discard symbol table from `.*'\? \(y or n\) } "y"
gdbserver_run ""
gdb_test "set sysroot remote:"
gdb_test "info files" "\r\nLocal exec file:\r\n\t<no file loaded>"
