aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2023-03-15 16:38:03 +0100
committerTom de Vries <tdevries@suse.de>2023-03-15 16:38:03 +0100
commit81a7a72f67a318be7e1a4755ee83bafb40dcead2 (patch)
tree25e8a35800b0d5fc0edf26e65d957f9d7402fa87
parent2d5783fad77c2cb9cdcb396d65fe0a60e3d8938b (diff)
downloadbinutils-81a7a72f67a318be7e1a4755ee83bafb40dcead2.zip
binutils-81a7a72f67a318be7e1a4755ee83bafb40dcead2.tar.gz
binutils-81a7a72f67a318be7e1a4755ee83bafb40dcead2.tar.bz2
[gdb/testsuite] Fix gdb.arch/amd64*.exp with local-remote-host-native.exp
There's a number of gdb.arch/amd64*.exp test-cases that fail with host+target board local-remote-host-native.exp because of using a .S file, generated from a .c file. If a test-case compiles the .S file when executing on remote host, the .S file is already copied from build to host, such that it's available for the compiler. But that's not the case for the .c file, which is needed by gdb to show a source line: ... (gdb) continue^M Continuing.^M ^M Breakpoint 2, fn2 (y=y@entry=25, x=x@entry=6) at amd64-entry-value-inline.c:32^M 32 in gdb.arch/amd64-entry-value-inline.c^M (gdb) FAIL: gdb.arch/amd64-entry-value-inline.exp: continue to breakpoint: \ break-here ... Fix this by using "gdb_remote_download host <.c file>". Tested on x86_64-linux, with host+target board local-remote-host-native.
-rw-r--r--gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp12
-rw-r--r--gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp10
-rw-r--r--gdb/testsuite/gdb.arch/amd64-entry-value-param.exp10
-rw-r--r--gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp8
-rw-r--r--gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp9
5 files changed, 35 insertions, 14 deletions
diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
index 774b90b..d992014 100644
--- a/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-inline.exp
@@ -14,16 +14,21 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set opts {}
-standard_testfile .S
+standard_testfile .S .c
if [info exists COMPILE] {
# make check RUNTESTFLAGS="gdb.arch/amd64-entry-value-inline.exp COMPILE=1"
- standard_testfile
+ standard_testfile .c .c
lappend opts debug optimize=-O2
} else {
require is_x86_64_m64_target
}
+# Make .c available on the host.
+if [is_remote host] {
+ gdb_remote_download host $srcdir/$subdir/$srcfile2
+}
+
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
return -1
}
@@ -32,8 +37,7 @@ if ![runto_main] {
return -1
}
-set srcfile $testfile.c
-gdb_breakpoint [gdb_get_line_number "break-here"]
+gdb_breakpoint [gdb_get_line_number "break-here" $srcfile2]
gdb_continue_to_breakpoint "break-here" ".* break-here .*"
gdb_test "p y" " = 25"
diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
index f6d11b2..17a92bd 100644
--- a/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
@@ -18,12 +18,17 @@ set opts {}
if [info exists COMPILE] {
# make check RUNTESTFLAGS="gdb.arch/amd64-entry-value-param-dwarf5.exp COMPILE=1"
- set srcfile ${srcfile2}
+ standard_testfile .c .c
lappend opts optimize=-O2 additional_flags=-gdwarf-5
} else {
require is_x86_64_m64_target
}
+# Make .c available on the host.
+if [is_remote host] {
+ gdb_remote_download host $srcdir/$subdir/$srcfile2
+}
+
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
return -1
}
@@ -32,8 +37,7 @@ if ![runto_main] {
return -1
}
-set srcfile $srcfile2
-gdb_breakpoint [gdb_get_line_number "break-here"]
+gdb_breakpoint [gdb_get_line_number "break-here" $srcfile2]
with_test_prefix "call 1" {
gdb_continue_to_breakpoint "break-here" ".* break-here .*"
diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
index da1445f..504c534 100644
--- a/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-param.exp
@@ -18,12 +18,17 @@ set opts {}
if [info exists COMPILE] {
# make check RUNTESTFLAGS="gdb.arch/amd64-entry-value-param.exp COMPILE=1"
- set srcfile ${srcfile2}
+ standard_testfile .c .c
lappend opts debug optimize=-O2
} else {
require is_x86_64_m64_target
}
+# Make .c available on the host.
+if [is_remote host] {
+ remote_download host $srcdir/$subdir/$srcfile2
+}
+
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
return -1
}
@@ -32,8 +37,7 @@ if ![runto_main] {
return -1
}
-set srcfile $srcfile2
-gdb_breakpoint [gdb_get_line_number "break-here"]
+gdb_breakpoint [gdb_get_line_number "break-here" $srcfile2]
with_test_prefix "call 1" {
gdb_continue_to_breakpoint "break-here" ".* break-here .*"
diff --git a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
index ff3e024..4b4f507 100644
--- a/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
+++ b/gdb/testsuite/gdb.arch/amd64-entry-value-paramref.exp
@@ -17,6 +17,11 @@ standard_testfile .S .cc
require is_x86_64_m64_target
+# Make .cc available on the host.
+if [is_remote host] {
+ gdb_remote_download host $srcdir/$subdir/$srcfile2
+}
+
if { [prepare_for_testing_full "failed to prepare" \
[list $testfile "c++" $srcfile {}]] } {
return -1
@@ -26,8 +31,7 @@ if ![runto_main] {
return -1
}
-set srcfile $srcfile2
-gdb_breakpoint [gdb_get_line_number "break-here"]
+gdb_breakpoint [gdb_get_line_number "break-here" $srcfile2]
gdb_continue_to_breakpoint "break-here" ".* break-here .*"
gdb_test "frame" {bar \(ref=@0x[0-9a-f]+: 10, ref@entry=@0x[0-9a-f]+: <optimized out>\) at .*}
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
index 1602aff..5ba435e 100644
--- a/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
+++ b/gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp
@@ -14,16 +14,21 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set opts {}
-standard_testfile .S
+standard_testfile .S .c
if [info exists COMPILE] {
# make check RUNTESTFLAGS="gdb.arch/amd64-tailcall-ret.exp COMPILE=1"
- standard_testfile
+ standard_testfile .c .c
lappend opts debug optimize=-O2
} else {
require is_x86_64_m64_target
}
+# Make .c available on the host.
+if [is_remote host] {
+ gdb_remote_download host $srcdir/$subdir/$srcfile2
+}
+
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} $opts] } {
return -1
}