mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
8864ef428d
Rename 'set debug lin-lwp' to 'set debug linux-nat' and 'show debug lin-lwp' to 'show debug linux-nat'. I've updated the documentation and help text to match, as well as making it clear that the debug that is coming out relates to all aspects of Linux native inferior support, not just the LWP aspect of it. The boundary between general "native" target debug, and the lwp specific part of that debug was always a little blurry, but the actual debug variable inside GDB is debug_linux_nat, and the print routine linux_nat_debug_printf, is used throughout the linux-nat.c file, not just for lwp related debug, so the new name seems to make more sense.
78 lines
2.6 KiB
Plaintext
78 lines
2.6 KiB
Plaintext
# This testcase is part of GDB, the GNU debugger.
|
|
|
|
# Copyright 2010-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/>.
|
|
|
|
# Test SIGILL generated by some special cases of breakpoints on ia64. Problem
|
|
# was SIGILL being stored in non-current thread for later retrieval when its
|
|
# breakpoint has been already deleted. moribund locations are not active in
|
|
# the default all-stop mode.
|
|
|
|
standard_testfile
|
|
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" ${binfile} executable [list debug additional_flags=-lrt]] != "" } {
|
|
return -1
|
|
}
|
|
|
|
clean_restart $testfile
|
|
|
|
if ![runto_main] {
|
|
return -1
|
|
}
|
|
|
|
set test "info addr label"
|
|
gdb_test_multiple $test $test {
|
|
-re "Symbol \"label\" is at 0x\[0-9a-f\]+0 in .*\r\n$gdb_prompt $" {
|
|
# Verify the label really starts at the start of ia64 bundle.
|
|
pass $test
|
|
|
|
# ia64 generates SIGILL for breakpoint at B slot of an MIB bundle.
|
|
gdb_test "break *label+2" {Breakpoint [0-9]+ at 0x[0-9a-f]+2:.*}
|
|
}
|
|
-re "No symbol \"label\" in current context\\.\r\n$gdb_prompt $" {
|
|
pass $test
|
|
|
|
# Either this target never generates non-SIGTRAP signals or they do
|
|
# not depend on the breakpoint address. Try any address.
|
|
gdb_breakpoint [gdb_get_line_number "break-here"]
|
|
}
|
|
}
|
|
|
|
gdb_test_no_output {set $sigill_bpnum=$bpnum}
|
|
|
|
gdb_breakpoint [gdb_get_line_number "break-at-exit"]
|
|
|
|
gdb_test_no_output "set debug infrun 1"
|
|
|
|
# The ia64 SIGILL signal is visible only in the linux-nat debug output.
|
|
|
|
set prompt "$gdb_prompt \\\[infrun\\\] fetch_inferior_event: exit\r\n$"
|
|
gdb_test_multiple "continue" "continue" -prompt $prompt {
|
|
-re "Breakpoint \[0-9\]+,( .* in)? thread_func .*$prompt$" {
|
|
pass $gdb_test_name
|
|
}
|
|
}
|
|
|
|
gdb_test_no_output {delete $sigill_bpnum}
|
|
|
|
gdb_test_multiple "continue" "continue for the pending signal" -prompt $prompt {
|
|
-re "Breakpoint \[0-9\]+, .*break-at-exit.*\r\n$prompt$" {
|
|
# Breakpoint has been skipped in the other thread.
|
|
pass $gdb_test_name
|
|
}
|
|
-re " received signal .*\r\n$gdb_prompt $" {
|
|
fail $gdb_test_name
|
|
}
|
|
}
|