summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-10-18 15:32:46 +0200
committerTom de Vries <tdevries@suse.de>2022-10-18 15:32:46 +0200
commit95dcf7dff68f1455b3576e291da60a1d949560fb (patch)
tree528e43f875e36dd18b2e6fbebe2e3df235422584
parent473487c23ee1213bcba6fce37e8676eb39ab9180 (diff)
downloadbinutils-gdb-95dcf7dff68f1455b3576e291da60a1d949560fb.tar.gz
[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.
-rw-r--r--gdb/testsuite/gdb.base/return-nodebug.c8
-rw-r--r--gdb/testsuite/gdb.base/return-nodebug.exp18
-rw-r--r--gdb/testsuite/gdb.base/return-nodebug1.c8
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 <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)
{