diff options
author | Stephan Rohr <stephan.rohr@intel.com> | 2024-02-21 01:55:37 -0800 |
---|---|---|
committer | Stephan Rohr <stephan.rohr@intel.com> | 2024-09-13 04:05:13 -0700 |
commit | a1371f3288f2d84cea90a9157ed9a359226969e2 (patch) | |
tree | dc188ba0a8708a7e238153b13ffac6c4d912501a | |
parent | 40422bbae1df369f4d013271bc7edeb6b30a3c44 (diff) | |
download | binutils-a1371f3288f2d84cea90a9157ed9a359226969e2.zip binutils-a1371f3288f2d84cea90a9157ed9a359226969e2.tar.gz binutils-a1371f3288f2d84cea90a9157ed9a359226969e2.tar.bz2 |
testsuite, trace: add guards if In-Process Agent library is not found
Several tests in gdb.trace trigger TCL errors if the In-Process Agent
library is not found, e.g.:
Running gdb/testsuite/gdb.trace/change-loc.exp ...
ERROR: tcl error sourcing gdb/testsuite/gdb.trace/change-loc.exp.
ERROR: error copying "gdb/gdb/testsuite/../../gdbserver/libinproctrace.so":
no such file or directory
while executing
"file copy -force $fromfile $tofile"
(procedure "gdb_remote_download" line 29)
invoked from within
"gdb_remote_download target $target_file"
(procedure "gdb_download_shlib" line 6)
invoked from within
"gdb_download_shlib $file"
(procedure "gdb_load_shlib" line 2)
invoked from within
"gdb_load_shlib $libipa"
(file "gdb/testsuite/gdb.trace/change-loc.exp" line 354)
invoked from within
"source gdb/testsuite/gdb.trace/change-loc.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source gdb/testsuite/gdb.trace/change-loc.exp"
invoked from within
"catch "uplevel #0 source $test_file_name""
Protect against this error by checking if the library is available.
-rw-r--r-- | gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/basic-libipa.exp | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/change-loc.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/ftrace-lock.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/ftrace.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/pending.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/range-stepping.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/strace.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/trace-break.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/trace-condition.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/trace-enable-disable.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/trace-mt.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/gdb.trace/tspeed.exp | 1 | ||||
-rw-r--r-- | gdb/testsuite/lib/trace-support.exp | 14 |
14 files changed, 27 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp b/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp index 9549b59..4ea86b4 100644 --- a/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp +++ b/gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp @@ -33,6 +33,7 @@ if ![gdb_target_supports_trace] { return -1 } +require allow_in_proc_agent set libipa [get_in_proc_agent] # Can't use prepare_for_testing, because that splits compiling into diff --git a/gdb/testsuite/gdb.trace/basic-libipa.exp b/gdb/testsuite/gdb.trace/basic-libipa.exp index e28f61e..c49192a 100644 --- a/gdb/testsuite/gdb.trace/basic-libipa.exp +++ b/gdb/testsuite/gdb.trace/basic-libipa.exp @@ -25,13 +25,9 @@ require allow_shlib_tests standard_testfile +require allow_in_proc_agent set libipa [get_in_proc_agent] -if { ![file exists $libipa] } { - unsupported "missing libinproctrace.so" - return -1 -} - gdb_download_shlib $libipa if { [prepare_for_testing "failed to prepare" $testfile $srcfile \ diff --git a/gdb/testsuite/gdb.trace/change-loc.exp b/gdb/testsuite/gdb.trace/change-loc.exp index fb55153..1316d92 100644 --- a/gdb/testsuite/gdb.trace/change-loc.exp +++ b/gdb/testsuite/gdb.trace/change-loc.exp @@ -346,6 +346,7 @@ tracepoint_change_loc_2 "trace" tracepoint_install_in_trace_disabled "trace" # Re-compile test case with IPA. +require allow_in_proc_agent set libipa [get_in_proc_agent] gdb_load_shlib $libipa diff --git a/gdb/testsuite/gdb.trace/ftrace-lock.exp b/gdb/testsuite/gdb.trace/ftrace-lock.exp index ce2b890..637d5eb 100644 --- a/gdb/testsuite/gdb.trace/ftrace-lock.exp +++ b/gdb/testsuite/gdb.trace/ftrace-lock.exp @@ -48,6 +48,7 @@ with_test_prefix "runtime trace support check" { } # Compile the test case with the in-process agent library. +require allow_in_proc_agent set libipa [get_in_proc_agent] set remote_libipa [gdb_load_shlib $libipa] diff --git a/gdb/testsuite/gdb.trace/ftrace.exp b/gdb/testsuite/gdb.trace/ftrace.exp index 9b100ce..408cd37 100644 --- a/gdb/testsuite/gdb.trace/ftrace.exp +++ b/gdb/testsuite/gdb.trace/ftrace.exp @@ -39,6 +39,7 @@ if ![gdb_target_supports_trace] { return -1 } +require allow_in_proc_agent set libipa [get_in_proc_agent] set remote_libipa [gdb_load_shlib $libipa] diff --git a/gdb/testsuite/gdb.trace/pending.exp b/gdb/testsuite/gdb.trace/pending.exp index b836be0..66209ad 100644 --- a/gdb/testsuite/gdb.trace/pending.exp +++ b/gdb/testsuite/gdb.trace/pending.exp @@ -494,6 +494,7 @@ pending_tracepoint_with_action_resolved "trace" pending_tracepoint_installed_during_trace "trace" # Re-compile test case with IPA. +require allow_in_proc_agent set libipa [get_in_proc_agent] gdb_load_shlib $libipa diff --git a/gdb/testsuite/gdb.trace/range-stepping.exp b/gdb/testsuite/gdb.trace/range-stepping.exp index e3af2e5..373a0bf 100644 --- a/gdb/testsuite/gdb.trace/range-stepping.exp +++ b/gdb/testsuite/gdb.trace/range-stepping.exp @@ -67,6 +67,7 @@ range_stepping_with_tracepoint "trace" require allow_shlib_tests +require allow_in_proc_agent set libipa [get_in_proc_agent] set remote_libipa [gdb_load_shlib $libipa] diff --git a/gdb/testsuite/gdb.trace/strace.exp b/gdb/testsuite/gdb.trace/strace.exp index 99b199e..ef243a4 100644 --- a/gdb/testsuite/gdb.trace/strace.exp +++ b/gdb/testsuite/gdb.trace/strace.exp @@ -19,6 +19,7 @@ require allow_shlib_tests standard_testfile set executable $testfile +require allow_in_proc_agent set libipa [get_in_proc_agent] set lib_opts debug diff --git a/gdb/testsuite/gdb.trace/trace-break.exp b/gdb/testsuite/gdb.trace/trace-break.exp index 7e5820c..cac4aa5 100644 --- a/gdb/testsuite/gdb.trace/trace-break.exp +++ b/gdb/testsuite/gdb.trace/trace-break.exp @@ -344,6 +344,7 @@ break_trace_same_addr_6 "trace" "disable" "trace" "enable" require allow_shlib_tests +require allow_in_proc_agent set libipa [get_in_proc_agent] set remote_libipa [gdb_load_shlib $libipa] diff --git a/gdb/testsuite/gdb.trace/trace-condition.exp b/gdb/testsuite/gdb.trace/trace-condition.exp index 42453bc..17acda8 100644 --- a/gdb/testsuite/gdb.trace/trace-condition.exp +++ b/gdb/testsuite/gdb.trace/trace-condition.exp @@ -39,6 +39,7 @@ if ![gdb_target_supports_trace] { return -1 } +require allow_in_proc_agent set libipa [get_in_proc_agent] set remote_libipa [gdb_load_shlib $libipa] diff --git a/gdb/testsuite/gdb.trace/trace-enable-disable.exp b/gdb/testsuite/gdb.trace/trace-enable-disable.exp index 280f2e4..c2c8381 100644 --- a/gdb/testsuite/gdb.trace/trace-enable-disable.exp +++ b/gdb/testsuite/gdb.trace/trace-enable-disable.exp @@ -42,6 +42,7 @@ if ![gdb_target_supports_trace] { } # Compile the test case with the in-process agent library. +require allow_in_proc_agent set libipa [get_in_proc_agent] gdb_load_shlib $libipa diff --git a/gdb/testsuite/gdb.trace/trace-mt.exp b/gdb/testsuite/gdb.trace/trace-mt.exp index e56064b..7246ddc 100644 --- a/gdb/testsuite/gdb.trace/trace-mt.exp +++ b/gdb/testsuite/gdb.trace/trace-mt.exp @@ -103,6 +103,7 @@ step_over_tracepoint $binfile "trace" require allow_shlib_tests +require allow_in_proc_agent set libipa [get_in_proc_agent] set remote_libipa [gdb_load_shlib $libipa] diff --git a/gdb/testsuite/gdb.trace/tspeed.exp b/gdb/testsuite/gdb.trace/tspeed.exp index 7ade5c2..c74680b 100644 --- a/gdb/testsuite/gdb.trace/tspeed.exp +++ b/gdb/testsuite/gdb.trace/tspeed.exp @@ -43,6 +43,7 @@ if ![gdb_target_supports_trace] { } # Compile the test case with the in-process agent library. +require allow_in_proc_agent set ipalib [get_in_proc_agent] if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ diff --git a/gdb/testsuite/lib/trace-support.exp b/gdb/testsuite/lib/trace-support.exp index c9c9697..770a930 100644 --- a/gdb/testsuite/lib/trace-support.exp +++ b/gdb/testsuite/lib/trace-support.exp @@ -366,6 +366,20 @@ proc gdb_find_recursion_test_baseline { filename } { return $baseline } +# Return 1 if the IPA library is available and 0 otherwise. + +proc allow_in_proc_agent {} { + global objdir + + if [target_info exists in_proc_agent] { + return 1 + } elseif [file exists "$objdir/../../gdbserver/libinproctrace.so"] { + return 1 + } else { + return 0 + } +} + # Return the location of the IPA library. proc get_in_proc_agent {} { |