+2011-12-13 Pedro Alves <pedro@codesourcery.com>
+ Doug Evans <dje@google.com>
+
+ * lib/gdb.exp (gdb_run_cmd, runto_main, gdb_compile)
+ (clean_restart): Remove references to the gdb_stub target board
+ variable.
+ (gdb_step_for_stub): Delete.
+
+ * gdb.base/annota1.exp: Remove all references to [target_info
+ exists gdb_stub], gdb_step_for_stub and usestubs.
+ * gdb.base/annota3.exp: Ditto.
+ * gdb.base/async.exp: Ditto.
+ * gdb.base/break.exp: Ditto.
+ * gdb.base/code-expr.exp: Ditto.
+ * gdb.base/commands.exp: Ditto.
+ * gdb.base/completion.exp: Ditto.
+ * gdb.base/condbreak.exp: Ditto.
+ * gdb.base/consecutive.exp: Ditto.
+ * gdb.base/cvexpr.exp: Ditto.
+ * gdb.base/define.exp: Ditto.
+ * gdb.base/display.exp: Ditto.
+ * gdb.base/ena-dis-br.exp: Ditto.
+ * gdb.base/environ.exp: Ditto.
+ * gdb.base/gnu-ifunc.exp: Ditto.
+ * gdb.base/maint.exp: Ditto.
+ * gdb.base/pending.exp: Ditto.
+ * gdb.base/sect-cmd.exp: Ditto.
+ * gdb.base/sepdebug.exp: Ditto.
+ * gdb.base/unload.exp: Ditto.
+ * gdb.base/watchpoint-solib.exp: Ditto.
+ * gdb.cp/annota2.exp: Ditto.
+ * gdb.cp/annota3.exp: Ditto.
+ * gdb.dwarf2/dw2-inline-param.exp: Ditto.
+ * gdb.hp/gdb.compat/xdb1.exp: Ditto.
+ * gdb.mi/mi-pending.exp: Ditto.
+ * gdb.trace/circ.exp: Ditto.
+ * gdb.cp/ovldbreak.exp: Ditto. Adjust expected line numbers.
+ * gdb.base/list.exp: Ditto.
+
+ * gdb.base/all-types.c: Remove all calls to set_debug_traps and
+ breakpoint function and all references to the usestubs macro.
+ * gdb.base/exprs.c: Ditto.
+ * gdb.base/freebpcmd.c: Ditto.
+ * gdb.base/bitfields.c: Ditto.
+ * gdb.base/bitfields2.c: Ditto.
+ * gdb.base/break.c: Ditto.
+ * gdb.base/call-sc.c: Ditto.
+ * gdb.base/call-signals.c: Ditto.
+ * gdb.base/callfuncs.c: Ditto.
+ * gdb.base/charset.c: Ditto.
+ * gdb.base/consecutive.c: Ditto.
+ * gdb.base/constvars.c: Ditto.
+ * gdb.base/funcargs.c: Ditto.
+ * gdb.base/int-type.c: Ditto.
+ * gdb.base/interrupt.c: Ditto.
+ * gdb.base/langs0.c: Ditto.
+ * gdb.base/list0.c: Ditto.
+ * gdb.base/mips_pro.c: Ditto.
+ * gdb.base/miscexprs.c: Ditto.
+ * gdb.base/nodebug.c: Ditto.
+ * gdb.base/opaque0.c: Ditto.
+ * gdb.base/pointers.c: Ditto.
+ * gdb.base/printcmds.c: Ditto.
+ * gdb.base/ptype.c: Ditto.
+ * gdb.base/recurse.c: Ditto.
+ * gdb.base/reread1.c: Ditto.
+ * gdb.base/reread2.c: Ditto.
+ * gdb.base/restore.c: Ditto.
+ * gdb.base/return.c: Ditto.
+ * gdb.base/run.c: Ditto.
+ * gdb.base/scope0.c: Ditto.
+ * gdb.base/sepdebug.c: Ditto.
+ * gdb.base/setshow.c: Ditto.
+ * gdb.base/setvar.c: Ditto.
+ * gdb.base/sigall.c: Ditto.
+ * gdb.base/signals.c: Ditto.
+ * gdb.base/structs.c: Ditto.
+ * gdb.base/structs2.c: Ditto.
+ * gdb.base/testenv.c: Ditto.
+ * gdb.base/twice.c: Ditto.
+ * gdb.base/unwindonsignal.c: Ditto.
+ * gdb.base/watchpoint.c: Ditto.
+ * gdb.base/watchpoints.c: Ditto.
+ * gdb.base/whatis.c: Ditto.
+ * gdb.cp/classes.cc: Ditto.
+ * gdb.cp/cplusfuncs.cc: Ditto.
+ * gdb.cp/derivation.cc: Ditto.
+ * gdb.cp/formatted-ref.cc: Ditto.
+ * gdb.cp/misc.cc: Ditto.
+ * gdb.cp/overload.cc: Ditto.
+ * gdb.cp/ovldbreak.cc: Ditto.
+ * gdb.cp/ref-params.cc: Ditto.
+ * gdb.cp/ref-types.cc: Ditto.
+ * gdb.cp/templates.cc: Ditto.
+ * gdb.cp/virtfunc.cc: Ditto.
+ * gdb.hp/gdb.aCC/run.c: Ditto.
+ * gdb.hp/gdb.base-hp/callfwmall.c: Ditto.
+ * gdb.hp/gdb.compat/xdb0.c: Ditto.
+ * gdb.reverse/consecutive-reverse.c: Ditto.
+ * gdb.reverse/sigall-reverse.c: Ditto.
+ * gdb.reverse/until-reverse.c: Ditto.
+ * gdb.reverse/watch-reverse.c: Ditto.
+ * gdb.trace/actions.c: Ditto.
+ * gdb.trace/circ.c: Ditto.
+ * gdb.trace/collection.c: Ditto.
+
2011-12-13 Pedro Alves <pedro@codesourcery.com>
* gdb.base/watchpoint.c (struct foo2, foo2, struct foo4, foo4)
int main ()
{
extern void dummy();
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
dummy();
return 0;
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
#
# the line at which break main will put the breakpoint
#
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
#
# the line at which break main will put the breakpoint
#
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
#
# set it up at a breakpoint so we can play with it
/* For each member, set that member to 1, allow gdb to verify that the
member (and only that member) is 1, and then reset it back to 0. */
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
flags.uc = 1;
break1 ();
flags.uc = 0;
int main ()
{
int i;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
+
for (i = 0; i < 5; i += 1)
tester ();
return 0;
char *argv[], **envp;
#endif
{
-#ifdef usestubs
- set_debug_traps(); /* set breakpoint 5 here */
- breakpoint();
-#endif
if (argc == 12345) { /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
fprintf (stderr, "usage: factorial <number>\n");
return 1;
set bp_location5 [gdb_get_line_number "set breakpoint 5 here"]
set bp_location6 [gdb_get_line_number "set breakpoint 6 here"]
-#
-# check to see what breakpoints are set
-#
-if [target_info exists gdb_stub] {
- set main_line $bp_location5
-} else {
- set main_line $bp_location6
-}
+set main_line $bp_location6
if {$hp_aCC_compiler} {
set proto "\\(int\\)"
int main()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
int i;
Fun(foo);
int
main ()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
#ifdef SIG_SETMASK
/* Ensure all the signals aren't blocked.
The environment in which the testsuite is run may have blocked some
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
malloc(1);
t_double_values(double_val1, double_val2);
t_structs_c(struct_val1);
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
malloc_stub ();
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
gdb_test_no_output "set print sevenbit-strings"
gdb_test_no_output "set print address off"
gdb_test_no_output "set width 0"
# scope.
fail $test
}
- -re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*run.c:(57|82).*$gdb_prompt $" {
+ -re "Continuing.*\[Ww\]atchpoint $wp_id deleted because the program has left the block in.*which its expression is valid.*run.c:(53|77).*$gdb_prompt $" {
pass $test
}
}
}
-global usestubs
-
#
# test running programs
#
strace $tracelevel
}
-global usestubs
-
#
# test running programs
#
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
set bp_location1 [gdb_get_line_number "set breakpoint 1 here"]
set bp_location6 [gdb_get_line_number "set breakpoint 6 here"]
set bp_location8 [gdb_get_line_number "set breakpoint 8 here" $srcfile1]
main()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
foo ();
}
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
const char & radiation = laconic;
volatile signed char & remuneration = lemonade;
*/
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
marker1 ();
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
gdb_test_no_output "set print sevenbit-strings"
gdb_test_no_output "set print address off"
gdb_test_no_output "set width 0"
strace $tracelevel
}
-global usestubs
-
#
# test running programs
untested display.exp
return -1
}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
# Preserve the old timeout, and set a new one that should be
# sufficient to avoid timing out during this test.
strace $tracelevel
}
-global usestubs
-
#
# test running programs
#
strace $tracelevel
}
-global usestubs
-
#
# test running programs
#
#endif
{
extern void dummy();
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
dummy();
return 0;
{
int i;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
-
for (i = 0; i < 100; i++)
printf (">>> %d\n", i); /* euphonium */
void (*pointer_to_call0a) (char, short, int, long) = (void (*)(char, short, int, long))call0a;
double (*pointer_to_call_with_trampolines) (double) = call_with_trampolines;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
/* Test calling with basic integer types */
call0a (c, s, i, l);
call0b (s, i, l, c);
# Test statically linked ifunc resolving during inferior start.
# https://bugzilla.redhat.com/show_bug.cgi?id=624967
-if ![target_info exists gdb_stub] {
+# Compile $staticbinfile separately as it may exit on error (ld/12595).
- # Compile $staticbinfile separately as it may exit on error (ld/12595).
-
- if { [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
- || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o" $staticbinfile executable {debug}] != "" } {
- untested "Could not compile static executable $staticbinfile."
- return -1
- }
+if { [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
+ || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o" $staticbinfile executable {debug}] != "" } {
+ untested "Could not compile static executable $staticbinfile."
+ return -1
+}
- clean_restart $staticexecutable
+clean_restart $staticexecutable
- gdb_breakpoint "gnu_ifunc"
- gdb_breakpoint "main"
- gdb_run_cmd
- gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
-}
+gdb_breakpoint "gnu_ifunc"
+gdb_breakpoint "main"
+gdb_run_cmd
+gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
-
x = 14;
y = 3;
z = 2;
{
char x;
int nbytes;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
#ifdef SIGNALS
signal (SIGINT, sigint_handler);
#endif
int
main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
if (langs0__2do () == 5003)
/* Success. */
return 0;
runto_main;
unsupported "list default lines around main";
} else {
- gdb_test "list" "(1\[ \t\]+#include \"list0.h\".*10\[ \t\]+x = 0;|2.*11\[ \t\]+foo .x\[+)\]+;)" "list default lines around main"
+ gdb_test "list" "(1\[ \t\]+#include \"list0.h\".*7\[ \t\]+x = 0;\r\n.*10\[ \t\]+foo .x\[+)\]+;)" "list default lines around main"
}
# Ensure we can limit printouts to one line
send_gdb "list list0.c:1\n"
gdb_expect {
- -re "1\[ \t\]+#include \"list0.h\".*10\[ \t]+x = 0;\r\n$gdb_prompt $" {
+ -re "1\[ \t\]+#include \"list0.h\".*10\[ \t\]+foo .x\[+)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re ".*$gdb_prompt $" { fail "list list0.c:1" ; gdb_suppress_tests }
# gcc appears to generate incorrect debugging information for code
# in include files, which breaks this test.
# SunPRO cc is the second case below, it's also correct.
- gdb_test "list main" "(5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*10\[ \t\]+x = 0;)" "list function in source file 1"
+ gdb_test "list main" "(5\[ \t\]+int x;.*8\[ \t\]+foo \[(\]+.*\[)\]+;|1\[ \t\]+#include .*7\[ \t\]+x = 0;)" "list function in source file 1"
# Ultrix gdb takes the second case below; it's also correct.
# SunPRO cc is the third case.
send_gdb "list -\n"
gdb_expect {
- -re "8\[ \t\]+breakpoint\[(\]\[)\];.*17\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
+ -re "8\[ \t\]+foo \[(\]+.*\[)\]+;.*17\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 8-17" ; gdb_suppress_tests }
timeout { fail "list 8-17 (timeout)" ; gdb_suppress_tests }
}
send_gdb "list -\n"
gdb_expect {
- -re "1\[ \t\]+#include .*7\[ \t\]+set_debug_traps\[(\]\[)\]+;\r\n$gdb_prompt $" { incr testcnt }
+ -re "1\[ \t\]+#include .*7\[ \t\]+x = 0;\r\n$gdb_prompt $" { incr testcnt }
-re ".*$gdb_prompt $" { fail "list 1-7" ; gdb_suppress_tests }
timeout { fail "list 1-7 (timeout)" ; gdb_suppress_tests }
}
# SunPRO cc is the second case below, it's also correct.
send_gdb "list list0.c:main\n"
gdb_expect {
- -re "1\[ \t\]+#include .*10\[ \t\]+x = 0;\r\n$gdb_prompt $" {
+ -re "1\[ \t\]+#include .*10\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
incr testcnt
}
-re "5\[ \t\]+int x;.*14\[ \t\]+foo \[(\]+.*\[)\]+;\r\n$gdb_prompt $" {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
gdb_test_no_output "set width 0"
test_listsize
int main ()
{
int x;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
+
x = 0;
foo (x++);
foo (x++);
foo (x++);
foo (x++);
foo (x++);
+ foo (x++);
+ foo (x++);
+ foo (x++);
return 0;
}
strace $tracelevel
}
-global usestubs
-
set testfile "break"
set srcfile ${testfile}.c
set srcfile1 ${testfile}1.c
char **argv;
#endif
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
return top (-1) + top (1);
}
sbig.s[90] = 255;
lbig.l[333] = 999999999;
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
marker1 ();
return 0;
}
char **argv;
#endif
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
return top (argc);
}
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
foop = getfoo ();
putfoo (foop);
return 0;
gdb_load ${binfile}
gdb_load_shlibs $lib_sl
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
#
# Test setting, querying, and modifying pending breakpoints
#
void dummy();
int more_code();
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
dummy();
more_code ();
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
malloc(1);
/* Prevent AIX linker from removing variables. */
sure it is linked in to this program. */
v_char_pointer = (char *) malloc (1);
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
/* Some linkers (e.g. on AIX) remove unreferenced variables,
so make sure to reference them. */
primary = blue;
int main()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
recurse (10);
return 0;
}
int main()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
foo();
bar();
return 0;
int main()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
foo();
return 0;
}
int main ()
{
register int local;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
driver ();
printf("exiting\n");
return 0;
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
func1 ();
printf("in main after func1\n");
tmp2 = func2 ();
char *argv[], **envp;
#endif
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
#ifdef FAKEARGV
printf ("%d\n", factorial (1));
#else
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
init0 ();
foo ();
autovars (5, 6);
strace $tracelevel
}
-global usestubs
-
#
# test running programs
#
char *argv[], **envp;
#endif
{
-#ifdef usestubs
- set_debug_traps(); /* set breakpoint 5 here */
- breakpoint();
-#endif
if (argc == 12345) { /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
fprintf (stderr, "usage: factorial <number>\n");
return 1;
fail "No debug information found."
}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
#
# test simple breakpoint setting commands
#
set bp_location5 [gdb_get_line_number "set breakpoint 5 here"]
set bp_location6 [gdb_get_line_number "set breakpoint 6 here"]
-#
-# check to see what breakpoints are set
-#
-if [target_info exists gdb_stub] {
- set main_line $bp_location5
-} else {
- set main_line $bp_location6
-}
+set main_line $bp_location6
set bp_location7 [gdb_get_line_number "set breakpoint 7 here"]
set bp_location8 [gdb_get_line_number "set breakpoint 8 here"]
"set separate debug location"
gdb_load ${binfile}
- if [target_info exists gdb_stub] {
- gdb_step_for_stub;
- }
-
#
# test break at function
#
#endif
{
int i = 1;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
if (argc <= 0 || argc > 8)
return -1;
#endif
{
extern void dummy();
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
dummy();
return 0;
}
int
main ()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
#ifdef SIG_SETMASK
/* Ensure all the signals aren't blocked.
int
main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
#ifdef SIGALRM
signal (SIGALRM, handler);
#endif
int main()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
int i;
for (i = 0; i < 256; i++)
int
main ()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
bkpt = 0;
param_reg (120, 130, 32000, 33000);
{
int i, j;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
j = 0;
for (i = 0; envp[i]; i++)
{
int y ;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
y = nothing () ;
printf ("hello\n") ;
return 0;
gdb_load ${binfile}
gdb_load_shlibs $lib_sl $lib_sl2
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
#
# Test setting a breakpoint in a dynamically loaded library which is
# manually loaded and unloaded
int
main ()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
#ifdef SIG_SETMASK
/* Ensure all the signals aren't blocked.
gdb_load ${binfile}
gdb_load_shlibs $lib_sl
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
runto_main
# Disable hardware watchpoints if necessary.
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
struct1.val = 1;
struct2.val = 2;
ptr1 = &struct1;
int
main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
-
for (count = 0; count < 4; count++) {
ival1 = count; ival2 = count;
ival3 = count; ival4 = count;
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
/* Some linkers (e.g. on AIX) remove unreferenced variables,
so make sure to reference them. */
v_char = 0;
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
#
# line number where we need to stop in main
#
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
#
# line number where we need to stop in main
#
int
main()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
dummy();
inheritance1 ();
inheritance3 ();
const char *ccpfoo;
};
-#ifdef usestubs
-extern "C" {
- void set_debug_traps();
- void breakpoint();
-};
-#endif
-
int main () {
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
int z=3;
}
F f_instance;
G g_instance;
- #ifdef usestubs
- set_debug_traps();
- breakpoint();
- #endif
-
-
marker1(); // marker1-returns-here
a_instance.a = 20; // marker1-returns-here
int main(void)
{
- #ifdef usestubs
- set_debug_traps();
- breakpoint();
- #endif
-
f1 (s1, e1, i1);
}
int
main()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
dummy();
inheritance1 ();
inheritance3 ();
N::nsoverload(2);
N::nsoverload(2, 3);
- #ifdef usestubs
- set_debug_traps();
- breakpoint();
- #endif
-
overloadNamespace (1);
overloadNamespace (dummyInstance);
XXX::overloadNamespace ('a');
foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
- #ifdef usestubs
- set_debug_traps();
- breakpoint();
- #endif
marker1();
# Set breakpoints on foo::overload1arg, one by one.
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 12 2 111
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 11 3 112
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 10 4 113
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 9 5 114
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 8 6 115
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 7 7 116
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 6 8 117
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 5 9 118
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 4 10 119
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 3 11 120
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 2 12 121
-set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 13 13 110
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 12 2 107
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 11 3 108
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 10 4 109
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 9 5 110
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 8 6 111
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 7 7 112
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 6 8 113
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 5 9 114
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 4 10 115
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 3 11 116
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 2 12 117
+set_bp_overloaded "foo::overload1arg" "$menu_overload1arg" 13 13 106
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in main(\\((|void)\\))? at.*$srcfile:49\r
\[\t \]+breakpoint already hit 1 time\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:111\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(signed char\\) at.*$srcfile:112\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned char\\) at.*$srcfile:113\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(short( int)?\\) at.*$srcfile:114\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned short|short unsigned)( int)?\\) at.*$srcfile:115\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(int\\) at.*$srcfile:116\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned|unsigned int)\\) at.*$srcfile:117\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(long( int)?\\) at.*$srcfile:118\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned long|long unsigned)( int)?\\) at.*$srcfile:119\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:120\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:121\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((void|)\\) at.*$srcfile:110" \
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:107\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(signed char\\) at.*$srcfile:108\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned char\\) at.*$srcfile:109\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(short( int)?\\) at.*$srcfile:110\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned short|short unsigned)( int)?\\) at.*$srcfile:111\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(int\\) at.*$srcfile:112\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned|unsigned int)\\) at.*$srcfile:113\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(long( int)?\\) at.*$srcfile:114\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned long|long unsigned)( int)?\\) at.*$srcfile:115\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:116\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:117\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((void|)\\) at.*$srcfile:106" \
"breakpoint info (after setting one-by-one)"
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in main(\\((|void)\\))? at.*$srcfile:49\r
\[\t \]+breakpoint already hit 1 time\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:111\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(signed char\\) at.*$srcfile:112\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned char\\) at.*$srcfile:113\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(short( int)?\\) at.*$srcfile:114\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned short|short unsigned)( int)?\\) at.*$srcfile:115\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(int\\) at.*$srcfile:116\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned|unsigned int)\\) at.*$srcfile:117\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(long( int)?\\) at.*$srcfile:118\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned long|long unsigned)( int)?\\) at.*$srcfile:119\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:120\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:121\r
-\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((void|)\\) at.*$srcfile:110" \
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:107\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(signed char\\) at.*$srcfile:108\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned char\\) at.*$srcfile:109\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(short( int)?\\) at.*$srcfile:110\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned short|short unsigned)( int)?\\) at.*$srcfile:111\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(int\\) at.*$srcfile:112\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned|unsigned int)\\) at.*$srcfile:113\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(long( int)?\\) at.*$srcfile:114\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned long|long unsigned)( int)?\\) at.*$srcfile:115\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:116\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:117\r
+\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((void|)\\) at.*$srcfile:106" \
"breakpoint info (after cancel)"
gdb_test "info break" \
"Num Type\[\t \]+Disp Enb Address\[\t \]+What.*
\[0-9\]+\[\t \]+breakpoint keep y\[\t \]+<MULTIPLE>\[\t \]*\r
-\[0-9\]+.1\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:121\r
-\[0-9\]+.2\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:120\r
-\[0-9\]+.3\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned long|long unsigned)( int)?\\) at.*$srcfile:119\r
-\[0-9\]+.4\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(long( int)?\\) at.*$srcfile:118\r
-\[0-9\]+.5\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned|unsigned int)\\) at.*$srcfile:117\r
-\[0-9\]+.6\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(int\\) at.*$srcfile:116\r
-\[0-9\]+.7\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned short|short unsigned)( int)?\\) at.*$srcfile:115\r
-\[0-9\]+.8\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(short( int)?\\) at.*$srcfile:114\r
-\[0-9\]+.9\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned char\\) at.*$srcfile:113\r
-\[0-9\]+.10\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(signed char\\) at.*$srcfile:112\r
-\[0-9\]+.11\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:111\r
-\[0-9\]+.12\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((void|)\\) at.*$srcfile:110" \
+\[0-9\]+.1\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(double\\) at.*$srcfile:117\r
+\[0-9\]+.2\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(float\\) at.*$srcfile:116\r
+\[0-9\]+.3\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned long|long unsigned)( int)?\\) at.*$srcfile:115\r
+\[0-9\]+.4\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(long( int)?\\) at.*$srcfile:114\r
+\[0-9\]+.5\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned|unsigned int)\\) at.*$srcfile:113\r
+\[0-9\]+.6\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(int\\) at.*$srcfile:112\r
+\[0-9\]+.7\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((unsigned short|short unsigned)( int)?\\) at.*$srcfile:111\r
+\[0-9\]+.8\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(short( int)?\\) at.*$srcfile:110\r
+\[0-9\]+.9\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(unsigned char\\) at.*$srcfile:109\r
+\[0-9\]+.10\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(signed char\\) at.*$srcfile:108\r
+\[0-9\]+.11\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\(char\\) at.*$srcfile:107\r
+\[0-9\]+.12\[\t \]+y\[\t \]+$hex\[\t \]+in foo::overload1arg\\((void|)\\) at.*$srcfile:106" \
"breakpoint info (after setting on all)"
Child Q(42);
Child& QR = Q;
- #ifdef usestubs
- set_debug_traps();
- breakpoint();
- #endif
-
/* Set breakpoint marker1 here. */
f2(Q);
as[2] = 2;
as[3] = 3;
- #ifdef usestubs
- set_debug_traps();
- breakpoint();
- #endif
marker1();
main2();
{
int i;
long l, m, n;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
+
i = i + 1;
// New tests added here
TEST(pEe->D::vg(), 102);
printf("Did %d tests, of which %d failed.\n", all_count, failed_count);
}
-#ifdef usestubs
-extern "C" {
- void set_debug_traps();
- void breakpoint();
-};
-#endif
int main()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
init();
e.w = 7;
}
gdb_load ${binfile}
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
if ![runto "*${break_at}"] {
return -1
char *argv[], **envp;*/
{
int factorial (int);
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
#ifdef FAKEARGV
printf ("%d\n", factorial (1));
#else
main ()
#endif
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
t_structs_c(struct_val1);
return 0;
main ()
{
int x;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
+
x = 0;
foo (x++);
foo (x++);
if { [skip_hp_tests] } then { continue }
-global usestubs
-
#
# test running programs
#
mi_gdb_load ${binfile}
mi_load_shlibs $lib_sl
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
# Set pending breakpoint via MI
mi_gdb_test "-break-insert -f pendfunc1" \
".*\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"<PENDING>\",pending=\"pendfunc1\",times=\"0\",original-location=\"pendfunc1\"\}"\
main()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
foo ();
} /* end of main */
int
main ()
{
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
#ifdef SIG_SETMASK
/* Ensure all the signals aren't blocked.
The environment in which the testsuite is run may have blocked some
char *argv[], **envp;
#endif
{
-#ifdef usestubs
- set_debug_traps(); /* set breakpoint 5 here */
- breakpoint();
-#endif
if (argc == 12345) { /* an unlikely value < 2^16, in case uninited */ /* set breakpoint 6 here */
fprintf (stderr, "usage: factorial <number>\n");
return 1;
int main ()
{
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
struct1.val = 1;
struct2.val = 2;
ptr1 = &struct1;
int i;
unsigned long myparms[10];
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
begin ();
for (i = 0; i < sizeof (myparms) / sizeof (myparms[0]); i++)
myparms[i] = i;
{
int i;
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
begin ();
for (i = 0; i < sizeof(testload) / sizeof(testload[0]); i++)
testload[i] = i + 1;
end ();
-#ifdef usestubs
- breakpoint ();
-#endif
return 0;
}
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
-if [target_info exists gdb_stub] {
- gdb_step_for_stub;
-}
-
gdb_test_no_output "set circular-trace-buffer on" \
"set circular-trace-buffer on"
test_struct mystruct;
int myarray[4];
-#ifdef usestubs
- set_debug_traps ();
- breakpoint ();
-#endif
-
begin ();
/* Assign collectable values to global variables. */
l0 = s0 = c0 = 0; l1 = s1 = c1 = 1;
}
}
}
- if [target_info exists gdb_stub] {
- gdb_expect 60 {
- -re "$gdb_prompt $" {
- send_gdb "continue\n"
- }
- }
- }
return
}
}
# Ask gdb to run until we hit a breakpoint at main.
-# The case where the target uses stubs has to be handled
-# specially--if it uses stubs, assuming we hit
-# breakpoint() and just step out of the function.
#
# N.B. This function deletes all existing breakpoints.
# If you don't want that, use gdb_start_cmd.
proc runto_main { } {
- global gdb_prompt
- global decimal
-
- if ![target_info exists gdb_stub] {
- return [runto main]
- }
-
- delete_breakpoints
-
- gdb_step_for_stub;
-
- return 1
+ return [runto main]
}
### Continue, and expect to hit a breakpoint.
}
set options $new_options
- if [target_info exists gdb_stub] {
- set options2 { "additional_flags=-Dusestubs" }
- lappend options "libs=[target_info gdb_stub]";
- set options [concat $options2 $options]
- }
if [target_info exists is_vxworks] {
set options2 { "additional_flags=-Dvxworks" }
- lappend options "libs=[target_info gdb_stub]";
set options [concat $options2 $options]
}
if [info exists GDB_TESTCASE_OPTIONS] {
}
}
-# Test programs for embedded (often "bare board") systems sometimes use a
-# "stub" either embedded in the test program itself or in the boot rom.
-# The job of the stub is to implement the remote protocol to communicate
-# with gdb and control the inferior. To initiate the remote protocol
-# session with gdb the stub needs to be given control by the inferior.
-# They do this by calling a function that typically triggers a trap
-# from main that transfers control to the stub.
-# The purpose of this function, gdb_step_for_stub, is to step out of
-# that function ("breakpoint" in the example below) and back into main.
-#
-# Example:
-#
-# int
-# main ()
-# {
-# #ifdef usestubs
-# set_debug_traps (); /* install trap handlers for stub */
-# breakpoint (); /* trigger a trap to give the stub control */
-# #endif
-# /* test program begins here */
-# }
-#
-# Note that one consequence of this design is that a breakpoint on "main"
-# does not Just Work (because if the target could stop there you still have
-# to step past the calls to set_debug_traps,breakpoint).
-
-proc gdb_step_for_stub { } {
- global gdb_prompt;
-
- if ![target_info exists gdb,use_breakpoint_for_stub] {
- if [target_info exists gdb_stub_step_command] {
- set command [target_info gdb_stub_step_command];
- } else {
- set command "step";
- }
- send_gdb "${command}\n";
- set tries 0;
- gdb_expect 60 {
- -re "(main.* at |.*in .*start).*$gdb_prompt" {
- return;
- }
- -re ".*$gdb_prompt" {
- incr tries;
- if { $tries == 5 } {
- fail "stepping out of breakpoint function";
- return;
- }
- send_gdb "${command}\n";
- exp_continue;
- }
- default {
- fail "stepping out of breakpoint function";
- return;
- }
- }
- }
- send_gdb "where\n";
- gdb_expect {
- -re "main\[^\r\n\]*at \(\[^:]+\):\(\[0-9\]+\)" {
- set file $expect_out(1,string);
- set linenum [expr $expect_out(2,string) + 1];
- set breakplace "${file}:${linenum}";
- }
- default {}
- }
- send_gdb "break ${breakplace}\n";
- gdb_expect 60 {
- -re "Breakpoint (\[0-9\]+) at.*$gdb_prompt" {
- set breakpoint $expect_out(1,string);
- }
- -re "Breakpoint (\[0-9\]+): file.*$gdb_prompt" {
- set breakpoint $expect_out(1,string);
- }
- default {}
- }
- send_gdb "continue\n";
- gdb_expect 60 {
- -re "Breakpoint ${breakpoint},.*$gdb_prompt" {
- gdb_test "delete $breakpoint" ".*" "";
- return;
- }
- default {}
- }
-}
-
# gdb_get_line_number TEXT [FILE]
#
# Search the source file FILE, and return the line number of the
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-
- if [target_info exists gdb_stub] {
- gdb_step_for_stub;
- }
}
# Prepares for testing, by calling build_executable, and then clean_restart.