
This commit changes the output of 'show architecture'. Here is a session before this commit: (gdb) show architecture The target architecture is set automatically (currently i386) (gdb) set architecture mips The target architecture is assumed to be mips (gdb) show architecture The target architecture is assumed to be mips (gdb) After this commit the session now looks like this: (gdb) show architecture The target architecture is set to "auto" (currently "i386"). (gdb) set architecture mips The target architecture is set to "mips". (gdb) show architecture The target architecture is set to "mips". (gdb) The changes are: 1. The value is now enclosed in quotes, 2. Each line ends with '.', and 3. After setting the architecture GDB is now a little more assertive; 'architecture is set to' not 'is assumed to be', the user did just tell us after all! gdb/ChangeLog: * arch-utils.c (show_architecture): Update formatting of messages. gdb/testsuite/ChangeLog: * gdb.arch/amd64-osabi.exp: Update. * gdb.arch/arm-disassembler-options.exp: Update. * gdb.arch/powerpc-disassembler-options.exp: Update. * gdb.arch/ppc64-symtab-cordic.exp: Update. * gdb.arch/s390-disassembler-options.exp: Update. * gdb.base/all-architectures.exp.tcl: Update. * gdb.base/attach-pie-noexec.exp: Update. * gdb.base/catch-syscall.exp: Update. * gdb.xml/tdesc-arch.exp: Update.
67 lines
2.1 KiB
Text
67 lines
2.1 KiB
Text
# Copyright (C) 2011-2020 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/>.
|
|
|
|
if {![can_spawn_for_attach]} {
|
|
return 0
|
|
}
|
|
|
|
standard_testfile .c
|
|
set executable ${testfile}
|
|
|
|
if { [prepare_for_testing "failed to prepare" $executable "" [list debug "additional_flags=-fPIE" "ldflags=-pie"]] } {
|
|
return -1
|
|
}
|
|
|
|
clean_restart $executable
|
|
set arch ""
|
|
set test "show architecture"
|
|
gdb_test_multiple $test $test {
|
|
-re "The target architecture is set to \"auto\" \\(currently \"(.*)\"\\)\\.\r\n$gdb_prompt $" {
|
|
set arch $expect_out(1,string)
|
|
pass $test
|
|
}
|
|
}
|
|
if ![runto_main] {
|
|
return 0
|
|
}
|
|
set test "sanity check info shared"
|
|
gdb_test_multiple "info shared" $test {
|
|
-re "From\[ \t\]+To\[ \t\]+Syms Read\[ \t\]+Shared Object Library\r\n0x.*\r\n$gdb_prompt $" {
|
|
pass $test
|
|
}
|
|
-re "No shared libraries loaded at this time\\.\r\n$gdb_prompt $" {
|
|
untested "no shared libraries loaded"
|
|
}
|
|
}
|
|
gdb_exit
|
|
|
|
if {$arch == ""} {
|
|
untested "no architecture set"
|
|
return 0
|
|
}
|
|
|
|
# Start the program running and then wait for a bit, to be sure
|
|
# that it can be attached to.
|
|
|
|
set test_spawn_id [spawn_wait_for_attach $binfile]
|
|
set testpid [spawn_id_get_pid $test_spawn_id]
|
|
|
|
gdb_start
|
|
file delete -- $binfile
|
|
gdb_test "attach $testpid" "Attaching to process $testpid\r\n.*" "attach"
|
|
gdb_test "set architecture $arch" "The target architecture is set to \"$arch\"\\."
|
|
gdb_test "info shared" "From\[ \t\]+To\[ \t\]+Syms Read\[ \t\]+Shared Object Library\r\n0x.*"
|
|
|
|
kill_wait_spawned_process $test_spawn_id
|