gdb/doc/
2011-12-13 Pedro Alves <pedro@codesourcery.com> * gdb.texinfo (Implementing a Remote Stub): Explain that you should transfer control to the stub in the startup code instead of in main. Mention the need to get past the initial breakpoint. gdb/testsuite/ 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.
This commit is contained in:
parent
6210a125f8
commit
924437bc13
@ -1,3 +1,109 @@
|
||||
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)
|
||||
|
@ -28,10 +28,6 @@ double v_double;
|
||||
int main ()
|
||||
{
|
||||
extern void dummy();
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
dummy();
|
||||
return 0;
|
||||
|
||||
|
@ -50,10 +50,6 @@ gdb_start
|
||||
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
|
||||
#
|
||||
|
@ -50,10 +50,6 @@ gdb_start
|
||||
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
|
||||
#
|
||||
|
@ -56,9 +56,6 @@ gdb_exit
|
||||
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
|
||||
|
@ -78,10 +78,6 @@ int main ()
|
||||
/* 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;
|
||||
|
@ -162,10 +162,7 @@ void tester ()
|
||||
int main ()
|
||||
{
|
||||
int i;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
for (i = 0; i < 5; i += 1)
|
||||
tester ();
|
||||
return 0;
|
||||
|
@ -86,10 +86,6 @@ int argc;
|
||||
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;
|
||||
|
@ -119,14 +119,7 @@ gdb_test "break multi_line_while_conditional" \
|
||||
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\\)"
|
||||
|
@ -58,10 +58,6 @@ zed ()
|
||||
|
||||
int main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
int i;
|
||||
|
||||
Fun(foo);
|
||||
|
@ -58,11 +58,6 @@ null_hand_call ()
|
||||
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
|
||||
|
@ -646,10 +646,6 @@ struct struct_with_fnptr *function_struct_ptr = &function_struct;
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
malloc(1);
|
||||
t_double_values(double_val1, double_val2);
|
||||
t_structs_c(struct_val1);
|
||||
|
@ -124,10 +124,6 @@ extern void malloc_stub (void);
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
malloc_stub ();
|
||||
|
||||
|
@ -41,10 +41,6 @@ gdb_start
|
||||
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"
|
||||
|
@ -319,7 +319,7 @@ proc watchpoint_command_test {} {
|
||||
# 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
|
||||
}
|
||||
}
|
||||
|
@ -51,8 +51,6 @@ if $tracelevel then {
|
||||
}
|
||||
|
||||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
|
@ -22,8 +22,6 @@ if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
@ -58,10 +56,6 @@ gdb_reinitialize_dir $srcdir/$subdir
|
||||
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]
|
||||
|
@ -12,9 +12,5 @@ int foo ()
|
||||
|
||||
main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
foo ();
|
||||
}
|
||||
|
@ -43,10 +43,6 @@ gdb_start
|
||||
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
|
||||
|
@ -191,10 +191,6 @@ main (void)
|
||||
const char & radiation = laconic;
|
||||
volatile signed char & remuneration = lemonade;
|
||||
*/
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
marker1 ();
|
||||
|
||||
|
||||
|
@ -41,10 +41,6 @@ gdb_start
|
||||
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"
|
||||
|
@ -20,8 +20,6 @@ if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
global usestubs
|
||||
|
||||
|
||||
#
|
||||
# test running programs
|
||||
|
@ -31,9 +31,6 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
|
||||
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.
|
||||
|
@ -20,8 +20,6 @@ if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
|
@ -18,8 +18,6 @@ if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
|
@ -8,10 +8,6 @@ main (argc, argv, envp)
|
||||
#endif
|
||||
{
|
||||
extern void dummy();
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
dummy();
|
||||
return 0;
|
||||
|
||||
|
@ -24,11 +24,6 @@ main (int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
for (i = 0; i < 100; i++)
|
||||
printf (">>> %d\n", i); /* euphonium */
|
||||
|
||||
|
@ -837,10 +837,6 @@ int main ()
|
||||
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);
|
||||
|
@ -127,20 +127,17 @@ gdb_test "info sym $expect_out(1,string)" "gnu_ifunc in section .*" "info sym <g
|
||||
# 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
|
||||
}
|
||||
|
||||
clean_restart $staticexecutable
|
||||
|
||||
gdb_breakpoint "gnu_ifunc"
|
||||
gdb_breakpoint "main"
|
||||
gdb_run_cmd
|
||||
gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
|
||||
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
|
||||
|
||||
gdb_breakpoint "gnu_ifunc"
|
||||
gdb_breakpoint "main"
|
||||
gdb_run_cmd
|
||||
gdb_test "" "Breakpoint \[0-9\]*, main .*" "static gnu_ifunc"
|
||||
|
@ -9,11 +9,6 @@ int w;
|
||||
int main ()
|
||||
{
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
x = 14;
|
||||
y = 3;
|
||||
z = 2;
|
||||
|
@ -17,10 +17,6 @@ main ()
|
||||
{
|
||||
char x;
|
||||
int nbytes;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
#ifdef SIGNALS
|
||||
signal (SIGINT, sigint_handler);
|
||||
#endif
|
||||
|
@ -22,10 +22,6 @@ langs0__2do ()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
if (langs0__2do () == 5003)
|
||||
/* Success. */
|
||||
return 0;
|
||||
|
@ -98,7 +98,7 @@ proc test_listsize {} {
|
||||
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
|
||||
@ -179,7 +179,7 @@ proc test_list_filename_and_number {} {
|
||||
|
||||
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 }
|
||||
@ -223,7 +223,7 @@ proc test_list_function {} {
|
||||
# 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.
|
||||
@ -335,14 +335,14 @@ proc test_list_backwards {} {
|
||||
|
||||
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 }
|
||||
}
|
||||
@ -387,7 +387,7 @@ proc test_list_filename_and_function {} {
|
||||
# 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 $" {
|
||||
@ -524,10 +524,6 @@ gdb_start
|
||||
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
|
||||
|
@ -3,10 +3,7 @@
|
||||
int main ()
|
||||
{
|
||||
int x;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
x = 0;
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
@ -33,6 +30,9 @@ int main ()
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -52,8 +52,6 @@ if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
global usestubs
|
||||
|
||||
set testfile "break"
|
||||
set srcfile ${testfile}.c
|
||||
set srcfile1 ${testfile}1.c
|
||||
|
@ -49,9 +49,5 @@ main (argc, argv)
|
||||
char **argv;
|
||||
#endif
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
return top (-1) + top (1);
|
||||
}
|
||||
|
@ -39,11 +39,6 @@ main ()
|
||||
sbig.s[90] = 255;
|
||||
lbig.l[333] = 999999999;
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
|
||||
marker1 ();
|
||||
return 0;
|
||||
}
|
||||
|
@ -52,10 +52,6 @@ main (argc, argv)
|
||||
char **argv;
|
||||
#endif
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
return top (argc);
|
||||
}
|
||||
|
||||
|
@ -13,10 +13,6 @@ extern void putfoo (struct foo *foop);
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
foop = getfoo ();
|
||||
putfoo (foop);
|
||||
return 0;
|
||||
|
@ -85,9 +85,6 @@ gdb_reinitialize_dir $srcdir/$subdir
|
||||
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
|
||||
#
|
||||
|
@ -91,10 +91,6 @@ int main ()
|
||||
void dummy();
|
||||
int more_code();
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
dummy();
|
||||
|
||||
more_code ();
|
||||
|
@ -122,10 +122,6 @@ struct some_struct
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
malloc(1);
|
||||
|
||||
/* Prevent AIX linker from removing variables. */
|
||||
|
@ -290,10 +290,6 @@ int main ()
|
||||
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;
|
||||
|
@ -22,10 +22,6 @@ recurse (a)
|
||||
|
||||
int main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
recurse (10);
|
||||
return 0;
|
||||
}
|
||||
|
@ -16,10 +16,6 @@ void foo()
|
||||
|
||||
int main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
foo();
|
||||
bar();
|
||||
return 0;
|
||||
|
@ -12,10 +12,6 @@ void foo()
|
||||
|
||||
int main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
foo();
|
||||
return 0;
|
||||
}
|
||||
|
@ -269,10 +269,6 @@ driver (void)
|
||||
int main ()
|
||||
{
|
||||
register int local;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
driver ();
|
||||
printf("exiting\n");
|
||||
return 0;
|
||||
|
@ -23,10 +23,6 @@ double tmp3;
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
func1 ();
|
||||
printf("in main after func1\n");
|
||||
tmp2 = func2 ();
|
||||
|
@ -49,10 +49,6 @@ int argc;
|
||||
char *argv[], **envp;
|
||||
#endif
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
#ifdef FAKEARGV
|
||||
printf ("%d\n", factorial (1));
|
||||
#else
|
||||
|
@ -20,10 +20,6 @@ void marker4 ();
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
init0 ();
|
||||
foo ();
|
||||
autovars (5, 6);
|
||||
|
@ -18,8 +18,6 @@ if $tracelevel then {
|
||||
strace $tracelevel
|
||||
}
|
||||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
|
@ -84,10 +84,6 @@ int argc;
|
||||
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;
|
||||
|
@ -64,9 +64,6 @@ if { $gdb_file_cmd_debug_info != "debug" } then {
|
||||
fail "No debug information found."
|
||||
}
|
||||
|
||||
if [target_info exists gdb_stub] {
|
||||
gdb_step_for_stub;
|
||||
}
|
||||
#
|
||||
# test simple breakpoint setting commands
|
||||
#
|
||||
@ -144,14 +141,7 @@ gdb_test "break multi_line_while_conditional" \
|
||||
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"]
|
||||
@ -673,10 +663,6 @@ proc test_different_dir {type test_different_dir xfail} {
|
||||
"set separate debug location"
|
||||
gdb_load ${binfile}
|
||||
|
||||
if [target_info exists gdb_stub] {
|
||||
gdb_step_for_stub;
|
||||
}
|
||||
|
||||
#
|
||||
# test break at function
|
||||
#
|
||||
|
@ -14,10 +14,6 @@ main(argc, argv)
|
||||
#endif
|
||||
{
|
||||
int i = 1;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
if (argc <= 0 || argc > 8)
|
||||
return -1;
|
||||
|
@ -10,10 +10,6 @@ main (argc, argv, envp)
|
||||
#endif
|
||||
{
|
||||
extern void dummy();
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
dummy();
|
||||
return 0;
|
||||
}
|
||||
|
@ -1577,10 +1577,6 @@ return 0;
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
|
||||
#ifdef SIG_SETMASK
|
||||
/* Ensure all the signals aren't blocked.
|
||||
|
@ -38,10 +38,6 @@ func2 ()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
#ifdef SIGALRM
|
||||
signal (SIGALRM, handler);
|
||||
#endif
|
||||
|
@ -401,10 +401,6 @@ static struct { char c; } chartest[256];
|
||||
|
||||
int main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 256; i++)
|
||||
|
@ -10,10 +10,6 @@ int bkpt;
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
|
||||
bkpt = 0;
|
||||
param_reg (120, 130, 32000, 33000);
|
||||
|
@ -27,10 +27,6 @@ int main (int argc, char **argv, char **envp)
|
||||
|
||||
{
|
||||
int i, j;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
j = 0;
|
||||
for (i = 0; envp[i]; i++)
|
||||
|
@ -11,10 +11,6 @@ int main ()
|
||||
|
||||
{
|
||||
int y ;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
y = nothing () ;
|
||||
printf ("hello\n") ;
|
||||
return 0;
|
||||
|
@ -69,10 +69,6 @@ gdb_reinitialize_dir $srcdir/$subdir
|
||||
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
|
||||
|
@ -42,10 +42,6 @@ stop_here ()
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
|
||||
#ifdef SIG_SETMASK
|
||||
/* Ensure all the signals aren't blocked.
|
||||
|
@ -58,10 +58,6 @@ gdb_reinitialize_dir $srcdir/$subdir
|
||||
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.
|
||||
|
@ -167,10 +167,6 @@ func7 (void)
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
struct1.val = 1;
|
||||
struct2.val = 2;
|
||||
ptr1 = &struct1;
|
||||
|
@ -30,11 +30,6 @@ int ival4 = -1;
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
for (count = 0; count < 4; count++) {
|
||||
ival1 = count; ival2 = count;
|
||||
ival3 = count; ival4 = count;
|
||||
|
@ -248,10 +248,6 @@ enum cars {chevy, ford, porsche} clunker;
|
||||
|
||||
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;
|
||||
|
@ -51,10 +51,6 @@ gdb_start
|
||||
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
|
||||
#
|
||||
|
@ -51,10 +51,6 @@ gdb_start
|
||||
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
|
||||
#
|
||||
|
@ -577,10 +577,6 @@ void use_methods ()
|
||||
int
|
||||
main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
dummy();
|
||||
inheritance1 ();
|
||||
inheritance3 ();
|
||||
|
@ -58,18 +58,7 @@ public:
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -208,12 +208,6 @@ int main(void)
|
||||
F f_instance;
|
||||
G g_instance;
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
|
||||
marker1(); // marker1-returns-here
|
||||
|
||||
a_instance.a = 20; // marker1-returns-here
|
||||
|
@ -38,11 +38,6 @@ Enum1 e1 = Val11;
|
||||
int main(void)
|
||||
{
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
f1 (s1, e1, i1);
|
||||
|
||||
}
|
||||
|
@ -569,10 +569,6 @@ void use_methods ()
|
||||
int
|
||||
main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
dummy();
|
||||
inheritance1 ();
|
||||
inheritance3 ();
|
||||
|
@ -135,11 +135,6 @@ int main ()
|
||||
N::nsoverload(2);
|
||||
N::nsoverload(2, 3);
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
overloadNamespace (1);
|
||||
overloadNamespace (dummyInstance);
|
||||
XXX::overloadNamespace ('a');
|
||||
|
@ -89,10 +89,6 @@ int main ()
|
||||
foo_instance1.overloadargs(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
|
||||
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
|
||||
marker1();
|
||||
|
@ -150,18 +150,18 @@ gdb_test_no_output "set multiple-symbols ask"
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
|
||||
@ -171,18 +171,18 @@ gdb_test "info break" \
|
||||
"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)"
|
||||
|
||||
|
||||
@ -229,18 +229,18 @@ gdb_test "info break" \
|
||||
"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)"
|
||||
|
||||
|
||||
@ -307,18 +307,18 @@ gdb_expect {
|
||||
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)"
|
||||
|
||||
|
||||
|
@ -61,11 +61,6 @@ int main(void)
|
||||
Child Q(42);
|
||||
Child& QR = Q;
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
/* Set breakpoint marker1 here. */
|
||||
|
||||
f2(Q);
|
||||
|
@ -41,10 +41,6 @@ int main(void)
|
||||
as[2] = 2;
|
||||
as[3] = 3;
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
marker1();
|
||||
|
||||
main2();
|
||||
|
@ -734,10 +734,7 @@ int main()
|
||||
{
|
||||
int i;
|
||||
long l, m, n;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
i = i + 1;
|
||||
|
||||
// New tests added here
|
||||
|
@ -182,19 +182,9 @@ void test_calls()
|
||||
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;
|
||||
|
@ -49,9 +49,6 @@ if {$result != 0} {
|
||||
}
|
||||
|
||||
gdb_load ${binfile}
|
||||
if [target_info exists gdb_stub] {
|
||||
gdb_step_for_stub;
|
||||
}
|
||||
|
||||
if ![runto "*${break_at}"] {
|
||||
return -1
|
||||
|
@ -42,10 +42,6 @@ int main (int argc, char *argv[], char **envp)
|
||||
char *argv[], **envp;*/
|
||||
{
|
||||
int factorial (int);
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
#ifdef FAKEARGV
|
||||
printf ("%d\n", factorial (1));
|
||||
#else
|
||||
|
@ -180,10 +180,6 @@ int main()
|
||||
main ()
|
||||
#endif
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
t_structs_c(struct_val1);
|
||||
return 0;
|
||||
|
||||
|
@ -3,10 +3,7 @@
|
||||
main ()
|
||||
{
|
||||
int x;
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
|
||||
x = 0;
|
||||
foo (x++);
|
||||
foo (x++);
|
||||
|
@ -22,8 +22,6 @@ if $tracelevel then {
|
||||
|
||||
if { [skip_hp_tests] } then { continue }
|
||||
|
||||
global usestubs
|
||||
|
||||
#
|
||||
# test running programs
|
||||
#
|
||||
|
@ -56,10 +56,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir
|
||||
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\"\}"\
|
||||
|
@ -29,10 +29,6 @@ int foo ()
|
||||
|
||||
main()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
foo ();
|
||||
} /* end of main */
|
||||
|
||||
|
@ -1168,11 +1168,6 @@ return 0;
|
||||
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
|
||||
|
@ -78,10 +78,6 @@ int argc;
|
||||
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;
|
||||
|
@ -139,10 +139,6 @@ func4 ()
|
||||
|
||||
int main ()
|
||||
{
|
||||
#ifdef usestubs
|
||||
set_debug_traps();
|
||||
breakpoint();
|
||||
#endif
|
||||
struct1.val = 1;
|
||||
struct2.val = 2;
|
||||
ptr1 = &struct1;
|
||||
|
@ -119,11 +119,6 @@ main (argc, argv, envp)
|
||||
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;
|
||||
|
@ -61,11 +61,6 @@ main (argc, argv, envp)
|
||||
{
|
||||
int i;
|
||||
|
||||
#ifdef usestubs
|
||||
set_debug_traps ();
|
||||
breakpoint ();
|
||||
#endif
|
||||
|
||||
begin ();
|
||||
for (i = 0; i < sizeof(testload) / sizeof(testload[0]); i++)
|
||||
testload[i] = i + 1;
|
||||
@ -83,8 +78,5 @@ main (argc, argv, envp)
|
||||
|
||||
end ();
|
||||
|
||||
#ifdef usestubs
|
||||
breakpoint ();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -192,10 +192,6 @@ gdb_start
|
||||
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"
|
||||
|
||||
|
@ -225,11 +225,6 @@ main (argc, argv, envp)
|
||||
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;
|
||||
|
@ -268,13 +268,6 @@ proc gdb_run_cmd {args} {
|
||||
}
|
||||
}
|
||||
}
|
||||
if [target_info exists gdb_stub] {
|
||||
gdb_expect 60 {
|
||||
-re "$gdb_prompt $" {
|
||||
send_gdb "continue\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -456,26 +449,12 @@ proc runto { function args } {
|
||||
}
|
||||
|
||||
# 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.
|
||||
@ -2294,14 +2273,8 @@ proc gdb_compile {source dest type options} {
|
||||
}
|
||||
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] {
|
||||
@ -3166,91 +3139,6 @@ proc setup_kfail_for_target { PR target } {
|
||||
}
|
||||
}
|
||||
|
||||
# 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
|
||||
@ -3709,10 +3597,6 @@ proc clean_restart { executable } {
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user