+2020-10-13 Pedro Alves <pedro@palves.net>
+
+ * config/monitor.exp: Use "list -q".
+ * gdb.arch/gdb1558.exp: Use "break -q".
+ * gdb.arch/i386-permbkpt.exp: Use "break -q".
+ * gdb.arch/i386-prologue-skip-cf-protection.exp: Use "break -q".
+ * gdb.base/break.exp: Use "break -q", "list -q" and "tbreak -q".
+ * gdb.base/commands.exp: Use "break -q".
+ * gdb.base/condbreak.exp: Use "break -q".
+ * gdb.base/ctf-ptype.exp: Use "list -q".
+ * gdb.base/define.exp: Use "break -q".
+ * gdb.base/del.exp: Use "break -q".
+ * gdb.base/fullname.exp: Use "break -q".
+ * gdb.base/hbreak-in-shr-unsupported.exp: Use "hbreak -q".
+ * gdb.base/hbreak-unmapped.exp: Use "hbreak -q".
+ * gdb.base/hbreak2.exp: Use "hbreak -q" and "list -q".
+ * gdb.base/hw-sw-break-same-address.exp: Use "break -q" and
+ "hbreak -q".
+ * gdb.base/included.exp: Use "list -q".
+ * gdb.base/label.exp: Use "break -q".
+ * gdb.base/lineinc.exp: Use "break -q".
+ * gdb.base/list.exp: Use "list -q".
+ * gdb.base/macscp.exp: Use "list -q".
+ * gdb.base/pending.exp: Use "break -q".
+ * gdb.base/prologue-include.exp: Use "break -q".
+ * gdb.base/ptype.exp: Use "list -q".
+ * gdb.base/sepdebug.exp: Use "break -q", "list -q" and "tbreak -q".
+ * gdb.base/server-del-break.exp: Use "break -q".
+ * gdb.base/style.exp: Use "break -q".
+ * gdb.base/symbol-without-target_section.exp: Use "list -q".
+ * gdb.base/watchpoint-reuse-slot.exp: Use "hbreak -q".
+ * gdb.cp/exception.exp: Use "tbreak -q".
+ * gdb.dwarf2/dw2-error.exp: Use "break -q".
+ * gdb.dwarf2/fission-mix.exp: Use "break -q".
+ * gdb.dwarf2/fission-reread.exp: Use "break -q".
+ * gdb.dwarf2/pr13961.exp: Use "break -q".
+ * gdb.linespec/explicit.exp: Use "list -q".
+ * gdb.linespec/linespec.exp: Use "break -q".
+ * gdb.mi/mi-simplerun.exp: Use "--qualified".
+ * gdb.python/py-mi-objfile-gdb.py: Use "list -q".
+ * gdb.server/bkpt-other-inferior.exp: Use "break -q".
+ * gdb.server/connect-without-multi-process.exp: Use "break -q".
+ * gdb.trace/change-loc.exp: Use "break -q".
+ * gdb.trace/pending.exp: Use "break -q".
+ * gdb.tui/basic.exp: Use "list -q".
+ * gdb.tui/list-before.exp: Use "list -q".
+ * gdb.tui/list.exp: Use "list -q".
+ * lib/gdb.exp (gdb_has_argv0): Use "break -q".
+
2020-10-13 Pedro Alves <pedro@palves.net>
* gdb.base/ui-redirect.exp: Expect "break -qualified main" in
}
if { $state == "pass" } {
if [gdb_target_monitor $arg] { return -1 }
- gdb_test "list main" ".*" ""
+ gdb_test "list -q main" ".*" ""
verbose "Loaded $arg into $GDB\n"
return 0
}
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-gdb_test "b main" "Breakpoint 1.*" "set breakpoint at main"
-gdb_test "b sub1" "Breakpoint 2.*" "set breakpoint at sub1"
-gdb_test "b sub2" "Breakpoint 3.*" "set breakpoint at sub2"
+gdb_test "b -q main" "Breakpoint 1.*" "set breakpoint at main"
+gdb_test "b -q sub1" "Breakpoint 2.*" "set breakpoint at sub1"
+gdb_test "b -q sub2" "Breakpoint 3.*" "set breakpoint at sub2"
# We can't use "runto_main" because that is exactly the problem
# we are trying to detect, stopping somewhere before main.
clean_restart ${binfile}
-gdb_test "break main" "" "first permanent break"
-gdb_test "break main" "" "second permanent break"
+gdb_test "break -q main" "" "first permanent break"
+gdb_test "break -q main" "" "second permanent break"
set bp_addr -1
# Put breakpoint on main, get the address where the breakpoint was installed.
-gdb_test_multiple "break main" "break on main, get address" {
+gdb_test_multiple "break -q main" "break on main, get address" {
-re -wrap "Breakpoint $decimal at ($hex).*" {
set bp_addr $expect_out(1,string)
#
# test break at function
#
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint function"
# it's wherever the processor was stopped when we connected to the
# board. So, to be sure, we do a list command.
#
-gdb_test "list main" \
+gdb_test "list -q main" \
".*main \\(int argc, char \\*\\*argv, char \\*\\*envp\\).*" \
"use `list' to establish default source file"
gdb_test "break $bp_location1" \
# test temporary breakpoint at function
#
-gdb_test "tbreak main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "temporary breakpoint function"
+gdb_test "tbreak -q main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "temporary breakpoint function"
#
# test break at function in file
#
# test break at function
#
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*, line.*" \
"breakpoint function, optimized file"
delete_breakpoints
gdb_test "break factorial" "Breakpoint.*at.*"
gdb_test_no_output "set \$bpnumfactorial = \$bpnum"
- gdb_test "break main" "Breakpoint.*at.*"
+ gdb_test "break -q main" "Breakpoint.*at.*"
gdb_test_no_output "set \$bpnummain = \$bpnum"
gdb_test \
set test "if_commands_test 1"
gdb_test_no_prompt "if \$tem == 2" { >} $test
- gdb_test_no_prompt "break main" { >} $test
+ gdb_test_no_prompt "break -q main" { >} $test
gdb_test_no_prompt "else" { >} $test
gdb_test_no_prompt "break factorial" { >} $test
gdb_test_no_prompt "commands" { >} $test
set test "if_commands_test 2"
gdb_test_no_prompt "if \$tem == 1" { >} $test
- gdb_test_no_prompt "break main" { >} $test
+ gdb_test_no_prompt "break -q main" { >} $test
gdb_test_no_prompt "else" { >} $test
gdb_test_no_prompt "break factorial" { >} $test
gdb_test_no_prompt "commands" { >} $test
#
# test break at function
#
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint function"
}
# Test combinations of conditional and thread-specific breakpoints.
-gdb_test "break main if (1==1) thread 999" \
+gdb_test "break -q main if (1==1) thread 999" \
"Unknown thread 999\\."
-gdb_test "break main thread 999 if (1==1)" \
+gdb_test "break -q main thread 999 if (1==1)" \
"Unknown thread 999\\."
# Verify that both if and thread can be distinguished from a breakpoint
#
gdb_test "ptype boolean" "type = enum (boolean |)\{FALSE, TRUE\}.*" "ptype unnamed typedef'd enumeration"
-gdb_test "list main" ".*"
+gdb_test "list -q main" ".*"
# Same thing with struct and union.
gdb_test "ptype t_struct3" "type = struct (t_struct3 |)\{.*
-re "Type commands for definition of \"breakmain\".\r\nEnd with a line saying just \"end\".\r\n>$" {
pass "$test"
set test "send body of breakmain"
- gdb_test_multiple "break main\ncommand\necho\nend\nend" "$test" {
+ gdb_test_multiple "break -q main\ncommand\necho\nend\nend" "$test" {
-re "$gdb_prompt $"\
{pass "$test"}
}
# Now, insert a breakpoint at an easy location, and then remove it
# using $alias. We verified that the removal worked by checking
# the list of breakpoints.
- gdb_test "break main" \
+ gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint insertion ($alias)"
fail $msg
}
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.*line.*" "set breakpoint at main - built absolute"
set msg "set breakpoint by full path after loading symbols - built absolute"
fail $msg
}
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.*line.*" "set breakpoint at main - built relative"
set msg "set breakpoint by full path after loading symbols - built relative"
fail $msg
}
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.*line.*" "set breakpoint at main - built other"
set msg "set breakpoint by full path after loading symbols - built other"
set cant_insert_hbreak 0
set supports_hbreak 0
set test "probe hbreak support"
-gdb_test_multiple "hbreak main" $test {
+gdb_test_multiple "hbreak -q main" $test {
-re "No hardware breakpoint support in the target.*$gdb_prompt $" {
pass $test
}
set supports_hbreak 0
set test "probe hardware breakpoint support"
-gdb_test_multiple "hbreak main" $test {
+gdb_test_multiple "hbreak -q main" $test {
-re "No hardware breakpoint support in the target.*$gdb_prompt $" {
pass $test
}
#
# Test whether the target supports hardware breakpoints at all.
#
-gdb_test_multiple "hbreak main" "hardware breakpoint support" {
+gdb_test_multiple "hbreak -q main" "hardware breakpoint support" {
-re "No hardware breakpoint support in the target.*$gdb_prompt $" {
unsupported "hardware breakpoints"
return
#
# Test break at function.
#
-gdb_test "hbreak main" \
+gdb_test "hbreak -q main" \
"Hardware assisted breakpoint.*at.* file .*$srcfile, line.*" \
"hardware breakpoint function"
delete_breakpoints
# it's wherever the processor was stopped when we connected to the
# board. So, to be sure, we do a list command.
#
-gdb_test "list main" \
+gdb_test "list -q main" \
".*main \\(int argc, char ..argv, char ..envp\\).*" \
"use `list' to establish default source file"
gdb_test "hbreak $bp_location1" \
#
# Run until the breakpoint at main is hit. For non-stubs-using targets.
#
-gdb_test "hbreak main" \
+gdb_test "hbreak -q main" \
"Hardware assisted breakpoint.*at.* file .*$srcfile, line.*" \
"hardware breakpoint function (2)"
gdb_run_cmd
# Test temporary breakpoint at function.
#
-gdb_test "thbreak main" \
+gdb_test "thbreak -q main" \
"Hardware assisted breakpoint.*at.* file .*$srcfile, line.*" \
"temporary hardware breakpoint function"
delete_breakpoints
#
# Test break at function.
#
-gdb_test "hbreak main" \
+gdb_test "hbreak -q main" \
"Hardware assisted breakpoint.*at.* file .*, line.*" \
"hardware breakpoint function, optimized file"
# Test inserting a hw breakpoint first, then a sw breakpoint at the
# same address.
with_test_prefix "hw-sw" {
- gdb_test "hbreak main" \
+ gdb_test "hbreak -q main" \
"Hardware assisted breakpoint .* at .*" \
"hbreak"
- gdb_test "break main" \
+ gdb_test "break -q main" \
"Note: breakpoint .* also set at .*\r\nBreakpoint .* at .*" \
"break"
# Now the opposite: test inserting a sw breakpoint first, then a hw
# breakpoint at the same address.
with_test_prefix "sw-hw" {
- gdb_test "break main" \
+ gdb_test "break -q main" \
"Breakpoint .* at .*" \
"break"
- gdb_test "hbreak main" \
+ gdb_test "hbreak -q main" \
"Note: breakpoint .* also set at .*\r\nHardware assisted breakpoint .* at .*" \
"hbreak"
gdb_test_no_output "set listsize 1"
-gdb_test "list main" ".*"
+gdb_test "list -q main" ".*"
get_debug_format
set non_dwarf [expr ! [test_debug_format "DWARF 2"]]
return -1
}
-gdb_test "break here" \
+gdb_test "break -q here" \
"Breakpoint.*at.*" \
"breakpoint here"
-gdb_test "break main:there" \
+gdb_test "break -q main:there" \
"Breakpoint.*at.*" \
"breakpoint there"
# Any command that causes GDB to read the debugging info for the
# lineinc.c compilation unit will do here.
set test_name "tolerate macro info with multiple #inclusions per line"
-gdb_test_multiple "break main" $test_name {
+gdb_test_multiple "break -q main" $test_name {
-re "Breakpoint 1 at 0x.*: file .*lineinc.c.*\\.\r\n${gdb_prompt}" {
pass $test_name
}
# gcc appears to generate incorrect debugging information for code
# in include files, which breaks this test.
# SunPRO cc is the second case below, it's also correct.
- gdb_test "list main" "(5\[ \t\]+int x;.*8\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*7\[ \t\]+x = 0;)" "list function in source file 1"
+ gdb_test "list -q main" "(5\[ \t\]+int x;.*8\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*7\[ \t\]+x = 0;)" "list function in source file 1"
# Ultrix gdb takes the second case below; it's also correct.
# SunPRO cc is the third case.
- gdb_test "list bar" "(4\[ \t\]+void.*\[ \t\]*long_line.*;.*bar.*9\[ \t\]*.*|1\[ \t\]+void.*8\[ \t\]+\}|1\[ \t\]+void.*7\[ \t\]*long_line ..;|7\[ \t\]+void.*14\[ \t\]+\})" "list function in source file 2"
+ gdb_test "list -q bar" "(4\[ \t\]+void.*\[ \t\]*long_line.*;.*bar.*9\[ \t\]*.*|1\[ \t\]+void.*8\[ \t\]+\}|1\[ \t\]+void.*7\[ \t\]*long_line ..;|7\[ \t\]+void.*14\[ \t\]+\})" "list function in source file 2"
# Test "list function" for C include file
# Ultrix gdb is the second case, still correct.
# SunPRO cc is the third case.
- gdb_test "list foo" "(3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;|2\[ \t\]+including file.*11\[ \t\]+bar \[(\]+.*\[)\]+;|1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;)" "list function in include file"
+ gdb_test "list -q foo" "(3\[ \t\]+.*12\[ \t\]+bar \[(\]+.*\[)\]+;|2\[ \t\]+including file.*11\[ \t\]+bar \[(\]+.*\[)\]+;|1\[ \t\]+/. An include file.*10\[ \t\]+bar \[(\]+.*\[)\]+;)" "list function in include file"
}
proc test_list_forward {} {
return [check_macro $macro $expected "after `list $func'"]
}
-gdb_test "list main" ".*main.*" "list main for support check"
+gdb_test "list -q main" ".*main.*" "list main for support check"
set macro_support "unknown"
gdb_test_multiple "info source" "test macro information" {
-re "Includes preprocessor macro info\..*$gdb_prompt $" {
set mainline [gdb_get_line_number "break main here"]
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line $mainline.*" \
"breakpoint function"
set bp_main [gdb_get_line_number "break main" ${testfile}.h]
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*$testfile.h, line $bp_main\\." \
"breakpoint main"
}
# For get_debug_format to do its job, we need to have a current source file.
-gdb_test "list main" ".*"
+gdb_test "list -q main" ".*"
get_debug_format
gdb_test "whatis v_boolean" "type = (enum |)boolean" \
"whatis unnamed typedef'd enum (compiler bug in IBM's xlc)"
#
# test break at function
#
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint function"
#
# test break at quoted function
#
-gdb_test "break \"marker2\"" \
+gdb_test "break -q \"marker2\"" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint quoted function"
# it's wherever the processor was stopped when we connected to the
# board. So, to be sure, we do a list command.
#
-gdb_test "list main" \
+gdb_test "list -q main" \
".*main \\(int argc, char \\*\\*argv, char \\*\\*envp\\).*" \
"use `list' to establish default source file"
gdb_test "break $bp_location1" \
# test temporary breakpoint at function
#
-gdb_test "tbreak main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "temporary breakpoint function"
+gdb_test "tbreak -q main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "temporary breakpoint function"
#
# test break at function in file
if {$xfail} {
setup_xfail "*-*-*"
}
- gdb_test "break main" \
+ gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint function, optimized file"
return -1
}
-gdb_test "break main" \
+gdb_test "break -q main" \
"Breakpoint.*at.* file .*$srcfile, line .*"
# Try deleting all breakpoints, using the "server" command prefix.
"frame without styling"
gdb_test_no_output "set style sources on"
- gdb_test "break main" "file $base_file_expr.*"
+ gdb_test "break -q main" "file $base_file_expr.*"
gdb_test "print &main" " = .* [style $hex address] <$main_expr>"
# Exploit formerly failed assertion in scan_dyntag when it got called for
# objfile having ".dynamic" section but without having data loaded in target.
# Such file is ${binmainfile} through add-symbol-file here. Set context first
-# by "list main" to have some local BLOCK set in lookup_symbol_global.
+# by "list -q main" to have some local BLOCK set in lookup_symbol_global.
standard_testfile start.c .c
set binlibfile ${testfile}.x
"Reading symbols from .*" \
"add-symbol-file" \
"add symbol table from file \".*\" at.*\\(y or n\\) " "y"
-gdb_test "list main"
+gdb_test "list -q main"
gdb_test "print symbol_without_target_section"
}
set test "hbreak"
- gdb_test_multiple "hbreak main" $test {
+ gdb_test_multiple "hbreak -q main" $test {
-re "You may have requested too many.*$gdb_prompt $" {
unsupported $test
}
}
}
-gdb_test "tbreak main" "Temporary breakpoint 4.*" \
+gdb_test "tbreak -q main" "Temporary breakpoint 4.*" \
"Set temporary breakpoint at main"
set ok 0
"file $testfile"
# Now check that we can still break given the minimal symbol.
-gdb_test "break main" "Breakpoint $decimal.*"
+gdb_test "break -q main" "Breakpoint $decimal.*"
clean_restart $binfile
-gdb_test "break main" "Breakpoint .*"
+gdb_test "break -q main" "Breakpoint .*"
# Bug 15691: gdb would crash here on an assert violation.
# The debug info for the TU for "struct s" has already been read,
"set debug-file-directory"
gdb_load $binfile
-gdb_test "break main" "Breakpoint.*at.*"
+gdb_test "break -q main" "Breakpoint.*at.*"
gdb_test "ptype baz" "type = class foo {.*"
return -1
}
-gdb_test "break main" "Breakpoint.*at.*"
+gdb_test "break -q main" "Breakpoint.*at.*"
# If we get this far gdb didn't crash.
pass $testfile
# Test explicit "ranges." Make sure that using explicit
# locations doesn't alter the expected outcome.
- gdb_test "list main" ".*" "list main 1"
+ gdb_test "list -q main" ".*" "list main 1"
set list_result [capture_command_output "list -,+" ""]
- gdb_test "list main" ".*" "list main 2"
+ gdb_test "list -q main" ".*" "list main 2"
gdb_test "list -line -,-line +" [string_to_regexp $list_result]
# Ditto for the reverse (except that no output is expected).
- gdb_test "list myfunction" ".*" "list myfunction 1"
+ gdb_test "list -q myfunction" ".*" "list myfunction 1"
gdb_test_no_output "list +,-"
- gdb_test "list myfunction" ".*" "list myfunction 2"
+ gdb_test "list -q myfunction" ".*" "list myfunction 2"
gdb_test_no_output "list -line +, -line -"
}
"Reading symbols from .*" \
"set the new inferior file for linespec tests"
-gdb_test "break main" \
- "Breakpoint \[0-9\]+ at $hex: main. .2 locations." \
+gdb_test "break -q main" \
+ "Breakpoint \[0-9\]+ at $hex: -qualified main. .2 locations." \
"set breakpoint at main in both inferiors"
# -break-info
set bps {}
- lappend bps [mi_create_breakpoint "main" \
+ lappend bps [mi_create_breakpoint "--qualified main" \
"break-insert operation" \
-number 1 -func main -file ".*basics.c" \
-line $line_main_body]
# parameter change notification.
gdb.execute("set width 101", to_string=True)
# And finally a command that will use the console stream without redirection
-gdb.execute("list main")
+gdb.execute("list -q main")
"switch to inferior"
set test "set breakpoint"
- gdb_test_multiple "break main" $test {
+ gdb_test_multiple "break -q main" $test {
-re "Sending packet.*$gdb_prompt $" {
fail $test
}
- -re "^break main\r\nBreakpoint .* at .*$gdb_prompt $" {
+ -re "^break -q main\r\nBreakpoint .* at .*$gdb_prompt $" {
pass $test
}
}
set gdbserver_protocol [lindex $res 0]
set gdbserver_gdbport [lindex $res 1]
- gdb_test "break main" "Breakpoint .*"
+ gdb_test "break -q main" "Breakpoint .*"
gdb_test "target $gdbserver_protocol $gdbserver_gdbport" \
"Remote debugging using .*" \
"tracepoint with one location"
set main_bp 0
- gdb_test_multiple "break main" "set breakpoint on main" {
+ gdb_test_multiple "break -q main" "set breakpoint on main" {
-re "Breakpoint (\[0-9\]*) at .*, line.*$gdb_prompt $" {
set main_bp $expect_out(1,string)
}
gdb_load ${binfile}
- gdb_test "break main" "Breakpoint.*at.* file .*$srcfile, line.*" \
+ gdb_test "break -q main" "Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint function"
gdb_run_cmd
"single pending tracepoint info"
# Run to main which should resolve a pending tracepoint
- gdb_test "break main" "Breakpoint.*at.* file .*$srcfile, line.*" \
+ gdb_test "break -q main" "Breakpoint.*at.* file .*$srcfile, line.*" \
"breakpoint function"
gdb_run_cmd
gdb_test "" "Breakpoint 2, main.*"
gdb_assert {![string match "No Source Available" $text]} \
"initial source listing"
-Term::command "list main"
-Term::check_contents "list main" "21 *return 0"
+Term::command "list -q main"
+Term::check_contents "list -q main" "21 *return 0"
# Get the first source line.
set line [Term::get_line 1]
Term::clean_restart 24 80 $testfile
-gdb_test "list main"
+gdb_test "list -q main"
if {![Term::enter_tui]} {
unsupported "TUI not supported"
Term::command "layout asm"
Term::check_contents "asm window shows main" "$hex <main>"
-Term::command "list main"
-Term::check_contents "list main" "21 *return 0"
-# The following 'focus next' must be immediately after 'list main' to
-# ensure that GDB has a valid idea of what is currently focused.
+Term::command "list -q main"
+Term::check_contents "list -q main" "21 *return 0"
+# The following 'focus next' must be immediately after 'list -q main'
+# to ensure that GDB has a valid idea of what is currently focused.
Term::command "focus next"
Term::check_contents "focus next" "Focus set to cmd window"
gdb_load "$exe"
# Set breakpoint on main.
- gdb_test_multiple "break main" "break main" {
+ gdb_test_multiple "break -q main" "break -q main" {
-re "Breakpoint.*${gdb_prompt} $" {
}
-re "${gdb_prompt} $" {