-# Copyright 1988-2015 Free Software Foundation, Inc.
+# Copyright 1988-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
standard_testfile .c
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } {
- untested sepdebug.exp
+ untested "failed to compile"
return -1
}
# the name of a debuginfo only file. This file will be stored in the
# gdb.base/ subdirectory.
-if [gdb_gnu_strip_debug $binfile] {
+if [gdb_gnu_strip_debug $binfile$EXEEXT] {
# check that you have a recent version of strip and objcopy installed
unsupported "cannot produce separate debug info files"
return -1
remote_exec build "rm -rf [file dirname $new_name]"
remote_exec build "mkdir [file dirname $new_name]"
-remote_exec build "ln -s ${binfile} $new_name"
+remote_exec build "ln -s ${binfile}${EXEEXT} $new_name"
clean_restart ${testfile}${EXEEXT}
if { $gdb_file_cmd_debug_info != "debug" } then {
- fail "No debug information found."
+ fail "no debug information found."
}
# Restore subdir
clean_restart ${testfile}${EXEEXT}
if { $gdb_file_cmd_debug_info != "debug" } then {
- fail "No debug information found."
+ fail "no debug information found."
}
#
# test temporary breakpoint at function
#
-gdb_test "tbreak main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "Temporary breakpoint function"
+gdb_test "tbreak main" "Temporary breakpoint.*at.* file .*$srcfile, line.*" "temporary breakpoint function"
#
# test break at function in file
gdb_test "tbreak $bp_location1" \
"Temporary breakpoint.*at.* file .*$srcfile, line $bp_location1.*" \
- "Temporary breakpoint line number #1"
+ "temporary breakpoint line number #1"
gdb_test "tbreak $bp_location6" \
"Temporary breakpoint.*at.* file .*$srcfile, line $bp_location6.*" \
- "Temporary breakpoint line number #2"
+ "temporary breakpoint line number #2"
#
# test break at line number in file
gdb_test "tbreak $srcfile:$bp_location2" \
"Temporary breakpoint.*at.* file .*$srcfile, line $bp_location2.*" \
- "Temporary breakpoint line number in file #1"
+ "temporary breakpoint line number in file #1"
set bp_location11 [gdb_get_line_number "set breakpoint 11 here"]
gdb_test "tbreak $srcfile:$bp_location11" "Temporary breakpoint.*at.* file .*$srcfile, line $bp_location11.*" "Temporary breakpoint line number in file #2"
#
if ![runto_main] then { fail "sepdebug tests suppressed" }
-gdb_test "catch" "Catch requires an event name.*" \
- "catch requires an event name"
+gdb_test "catch fork" "Catchpoint \[0-9\]+ \\(fork\\)" \
+ "set catch fork, never expected to trigger"
-set name "set catch fork, never expected to trigger"
-gdb_test_multiple "catch fork" $name {
- -re "Catchpoint \[0-9\]* .fork.*$gdb_prompt $" {
- pass $name
- }
- -re "Catch of fork not yet implemented.*$gdb_prompt $" {
- pass $name
- }
-}
+gdb_test "catch vfork" "Catchpoint \[0-9\]+ \\(vfork\\)" \
+ "set catch vfork, never expected to trigger"
-# If we are on HP-UX 10.20, we expect an error message to be
-# printed if we type "catch vfork" at the gdb gdb_prompt. This is
-# because on HP-UX 10.20, we cannot catch vfork events.
-
-set name "set catch vfork, never expected to trigger"
-gdb_test_multiple "catch vfork" $name {
- -re "Catch of vfork events not supported on HP-UX 10.20.*" {
- pass $name
- }
- -re "Catchpoint \[0-9\]* .vfork.*$gdb_prompt $" {
- pass $name
- }
- -re "Catch of vfork not yet implemented.*$gdb_prompt $" {
- pass $name
- }
-}
-
-set name "set catch exec, never expected to trigger"
-gdb_test_multiple "catch exec" $name {
- -re "Catchpoint \[0-9\]* .exec.*$gdb_prompt $" {
- pass $name
- }
- -re "Catch of exec not yet implemented.*$gdb_prompt $" {
- pass $name
- }
-}
+gdb_test "catch exec" "Catchpoint \[0-9\]+ \\(exec\\)" \
+ "set catch exec, never expected to trigger"
# Verify that GDB responds gracefully when asked to set a breakpoint
# on a nonexistent source line.
"thread-specific breakpoint on non-existent thread disallowed"
gdb_test "break $bp_location12 thread foo" \
- "Junk after thread keyword.*" \
+ "Invalid thread ID: foo" \
"thread-specific breakpoint on bogus thread ID disallowed"
# Verify that GDB responds gracefully to a breakpoint command with
# As long as we're stopped (breakpointed) in a called function,
# verify that we can successfully backtrace & such from here.
-#
-# In this and the following test, the _sr4export check apparently is needed
-# for hppa*-*-hpux.
-#
-gdb_test_multiple "bt" "backtrace while in called function" {
- -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*_sr4export.*$gdb_prompt $" {
- pass "backtrace while in called function"
- }
- -re "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1.*function called from gdb.*$gdb_prompt $" {
- pass "backtrace while in called function"
- }
-}
+gdb_test "bt" \
+ "#0\[ \t\]*($hex in )?marker2.*:$bp_location8\r\n#1\[ \t\]*<function called from gdb>.*" \
+ "backtrace while in called function"
# Return from the called function. For remote targets, it's important to do
# this before runto_main, which otherwise may silently stop on the dummy
#
gdb_test_multiple "finish" "finish from called function" {
- -re "Run till exit from .*marker2.* at .*$bp_location8\r\n.* in _sr4export.*$gdb_prompt $" {
- pass "finish from called function"
- }
-re "Run till exit from .*marker2.* at .*$bp_location8\r\n.*function called from gdb.*$gdb_prompt $" {
pass "finish from called function"
}
}
}
-# Verify that we can explicitly ask GDB to stop on all shared library
-# events, and that it does so.
-#
-if [istarget "hppa*-*-hpux*"] then {
- if ![runto_main] then { fail "sepdebug tests suppressed" }
-
- gdb_test_no_output "set stop-on-solib-events 1" \
- "set stop-on-solib-events"
-
- gdb_test "run" \
- "Stopped due to shared library event.*" \
- "triggered stop-on-solib-events" \
- "Start it from the beginning.*y or n. $" \
- "y"
-
- gdb_test_no_output "set stop-on-solib-events 0" \
- "reset stop-on-solib-events"
-}
-
-# Hardware breakpoints are unsupported on HP-UX. Verify that GDB
-# gracefully responds to requests to create them.
-#
-if [istarget "hppa*-*-hpux*"] then {
- if ![runto_main] then { fail "sepdebug tests suppressed" }
-
- gdb_test "hbreak" \
- "No hardware breakpoint support in the target.*" \
- "hw breaks disallowed"
-
- gdb_test "thbreak" \
- "No hardware breakpoint support in the target.*" \
- "temporary hw breaks disallowed"
-}
-
-#********
-
-
#
# Test "next" over recursive function call.
#
# the "set debug-file-directory" command.
set different_dir [standard_output_file ${testfile}.dir]
-set debugfile "${different_dir}/[standard_output_file ${testfile}.debug]"
+set debugfile "${different_dir}/[standard_output_file ${testfile}${EXEEXT}.debug]"
remote_exec build "rm -rf $different_dir"
remote_exec build "mkdir -p [file dirname $debugfile]"
-remote_exec build "mv -f [standard_output_file ${testfile}.debug] $debugfile"
+remote_exec build "mv -f [standard_output_file ${testfile}${EXEEXT}.debug] $debugfile"
test_different_dir debuglink $different_dir 0
# Test CRC mismatch is reported.
if {[build_executable sepdebug.exp sepdebug2 sepdebug2.c debug] != -1
- && ![gdb_gnu_strip_debug [standard_output_file sepdebug2]]} {
+ && ![gdb_gnu_strip_debug [standard_output_file sepdebug2]$EXEEXT]} {
remote_exec build "cp ${debugfile} [standard_output_file sepdebug2.debug]"
set escapedobjdirsubdir [string_to_regexp [standard_output_file {}]]
- gdb_test "file [standard_output_file sepdebug2]" "warning: the debug information found in \"${escapedobjdirsubdir}/sepdebug2\\.debug\" does not match \"${escapedobjdirsubdir}/sepdebug2\" \\(CRC mismatch\\)\\..*\\(no debugging symbols found\\).*" "CRC mismatch is reported"
+ gdb_test "file [standard_output_file sepdebug2]" "warning: the debug information found in \"${escapedobjdirsubdir}/sepdebug2\\.debug\" does not match \"${escapedobjdirsubdir}/sepdebug2\" \\(CRC mismatch\\)\\..*\\(No debugging symbols found in .*\\).*" "CRC mismatch is reported"
}
# NT_GNU_BUILD_ID / .note.gnu.build-id test:
-set build_id_debug_filename [build_id_debug_filename_get $binfile]
+set build_id_debug_filename [build_id_debug_filename_get $binfile$EXEEXT]
if ![string compare $build_id_debug_filename ""] then {
unsupported "build-id is not supported by the compiler"