[2/4,gdb/testsuite] Fix gdb.base/return-nodebug.exp with local-remote-host.exp

Message ID 20221018133328.7574-3-tdevries@suse.de
State Committed
Commit 95dcf7dff68f1455b3576e291da60a1d949560fb
Headers
Series Test-case fixes with local-remote-board |

Commit Message

Tom de Vries Oct. 18, 2022, 1:33 p.m. UTC
  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(-)
  

Patch

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 <http://www.gnu.org/licenses/>.  */
 
+#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 <http://www.gnu.org/licenses/>.  */
 
+#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)
 {