aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2020-11-13 16:35:02 +0000
committerJoseph Myers <joseph@codesourcery.com>2020-11-13 16:35:02 +0000
commit5643c500fef1ef50449e120deddcb65cf4af4b7b (patch)
treeb81df85e96d94e10ae559b4c77690dbe7f2f32bb
parent50ea0877550b5fc2c31a44576cdba1b51897eb2c (diff)
downloadgdb-5643c500fef1ef50449e120deddcb65cf4af4b7b.zip
gdb-5643c500fef1ef50449e120deddcb65cf4af4b7b.tar.gz
gdb-5643c500fef1ef50449e120deddcb65cf4af4b7b.tar.bz2
Fix Windows-target testing in gdb_file_cmd
GCC for Windows target produces executables called foo.exe when given "-o foo". (More specifically, it's done that for native compilers for a long time, and for cross compilers to Windows target since GCC commit 5bc86b599054f494ec0a45e49b82749320eaa9c4, in GCC 8 and later.) This causes problems for many GDB tests expecting a program to have the exact file name passed to -o. Fix this by checking for the case where only the .exe exists in gdb_file_cmd and adjusting the name passed to the file command accordingly. There may well be other places with this issue in the GDB testsuite, but this fix allows many tests to succeed that previously fell over. 2020-11-12 Joseph Myers <joseph@codesourcery.com> * lib/gdb.exp (gdb_file_cmd): Check for case where $arg.exe exists but $arg does not.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/gdb.exp5
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 8cff646..b1ca924 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ * lib/gdb.exp (gdb_file_cmd): Check for case where $arg.exe exists
+ but $arg does not.
+
2020-11-12 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.fortran/types.exp: Add more tests.
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 55154db..c42933b 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1846,6 +1846,11 @@ proc gdb_file_cmd { arg } {
global GDB
global last_loaded_file
+ # GCC for Windows target may create foo.exe given "-o foo".
+ if { ![file exists $arg] && [file exists "$arg.exe"] } {
+ set arg "$arg.exe"
+ }
+
# Save this for the benefit of gdbserver-support.exp.
set last_loaded_file $arg