Re: [RFC] gdb.base/args.exp: Invoke gdb_load for simulator targets

Kevin Buettner
2003-04-16T20:32:42Z

I ended up committing the following patch. (My original patch modified
some rexexps to match extra output after program exit in a simulator. The
patch below does not do this.)

* gdb.base/args.exp: Invoke gdb_load for simulator targets.

Index: gdb.base/args.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/args.exp,v
retrieving revision 1.5
diff -u -p -r1.5 args.exp
--- gdb.base/args.exp 20 Mar 2003 14:42:15 -0000 1.5
+++ gdb.base/args.exp 16 Apr 2003 20:28:52 -0000
@@ -31,6 +31,15 @@ if [target_info exists noargs] {
return;
}

+# No loading needs to be done when the target is `exec'. Some targets
+# require that the program be loaded, however.
+proc args_load {} {
+ global binfile
+ if [target_info exists is_simulator] {
+ gdb_load ${binfile}
+ }
+}
+
set testfile "args"
set srcfile ${testfile}.c
set binfile ${objdir}/${subdir}/${testfile}
@@ -47,6 +56,7 @@ set GDBFLAGS "--args $binfile 1 3"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
+args_load
gdb_test "run" \
"Starting program.*args(\\.exe)? 1 3.*3\r\n.*args\r\n1\r\n3.*Program exited normally." \
"correct args printed"
@@ -58,6 +68,7 @@ set GDBFLAGS "--args $binfile 1 '' 3"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
+args_load
gdb_test "run" \
"Starting program.*args(\\.exe)? 1 \\\\'\\\\' 3.*4\r\n.*args\r\n1\r\n''\r\n3.*Program exited normally." \
"correct args printed, one empty"
@@ -69,6 +80,7 @@ set GDBFLAGS "--args $binfile 1 '' '' 3"
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
+args_load
gdb_test "run" \
"Starting program.*args(\\.exe)? 1 \\\\'\\\\' \\\\'\\\\' 3.*5\r\n.*args\r\n1\r\n''\r\n''\r\n3.*Program exited normally." \
"correct args printed, two empty"