From 95dcf7dff68f1455b3576e291da60a1d949560fb Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 18 Oct 2022 15:32:46 +0200 Subject: [PATCH] [gdb/testsuite] Fix gdb.base/return-nodebug.exp with local-remote-host.exp With host board local-remote-host.exp and test-case gdb.base/return-nodebug.exp, I run into: ... Executing on host: gcc -fno-stack-protector -fdiagnostics-color=never \ -DTYPE=signed\ char -c -g -o return-nodebug-signed-char0.o \ /home/vries/gdb_versions/devel/src/gdb/testsuite/gdb.base/return-nodebug.c \ (timeout = 300) builtin_spawn [open ...]^M gcc: error: char: No such file or directory ... Avoid the quoting problem by not using spaces in the define. Tested on x86_64-linux. --- gdb/testsuite/gdb.base/return-nodebug.c | 8 ++++++++ gdb/testsuite/gdb.base/return-nodebug.exp | 18 ++++++++++++------ gdb/testsuite/gdb.base/return-nodebug1.c | 8 ++++++++ 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/gdb.base/return-nodebug.c b/gdb/testsuite/gdb.base/return-nodebug.c index a5ec060207a..358323aa2dd 100644 --- a/gdb/testsuite/gdb.base/return-nodebug.c +++ b/gdb/testsuite/gdb.base/return-nodebug.c @@ -15,6 +15,14 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#ifdef TYPE_NOSPACE_long_long +#define TYPE long long +#elif defined TYPE_NOSPACE_signed_char +#define TYPE signed char +#else +#define TYPE TYPE_NOSPACE +#endif + extern TYPE func (void); static void diff --git a/gdb/testsuite/gdb.base/return-nodebug.exp b/gdb/testsuite/gdb.base/return-nodebug.exp index 1cce09d2fc4..331375d89f8 100644 --- a/gdb/testsuite/gdb.base/return-nodebug.exp +++ b/gdb/testsuite/gdb.base/return-nodebug.exp @@ -52,17 +52,23 @@ foreach type {{signed char} {short} {int} {long} {long long} {float} {double}} { if { $skip_float_test && ($type == "float" || $type == "double") } { continue } - set typeesc [string map {{ } {\ }} $type] - set typenospace [string map {{ } -} $type] + set typenospace_dash \ + [string map {{ } -} $type] + set typenospace_underscore \ + [string map {{ } _} $type] standard_testfile .c return-nodebug1.c - set additional_flags "additional_flags=-DTYPE=$typeesc" + set additional_flags {} + lappend additional_flags \ + additional_flags=-DTYPE_NOSPACE=$typenospace_underscore + lappend additional_flags \ + additional_flags=-DTYPE_NOSPACE_$typenospace_underscore if {[prepare_for_testing_full "failed to prepare" \ - [list ${testfile}-${typenospace} debug \ - $srcfile [list debug $additional_flags] \ - $srcfile2 [list $additional_flags]]]} { + [list ${testfile}-${typenospace_dash} debug \ + $srcfile [concat {debug} $additional_flags] \ + $srcfile2 $additional_flags]]} { continue } diff --git a/gdb/testsuite/gdb.base/return-nodebug1.c b/gdb/testsuite/gdb.base/return-nodebug1.c index bd32fc45d74..f2269e0dd2f 100644 --- a/gdb/testsuite/gdb.base/return-nodebug1.c +++ b/gdb/testsuite/gdb.base/return-nodebug1.c @@ -15,6 +15,14 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#ifdef TYPE_NOSPACE_long_long +#define TYPE long long +#elif defined TYPE_NOSPACE_signed_char +#define TYPE signed char +#else +#define TYPE TYPE_NOSPACE +#endif + TYPE func (void) { -- 2.30.2