X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.base%2Fbreak-entry.exp;h=4f350edb2533d84037090fe14497cd5e4ace13c1;hb=3666a04883754298b03884222206bfe756fbc520;hp=13605042e6e7d042de6d2624c4821006808df727;hpb=aa00efb580a81e5a22d1f648687f8db078fb5537;p=thirdparty%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.base/break-entry.exp b/gdb/testsuite/gdb.base/break-entry.exp index 13605042e6e..4f350edb253 100644 --- a/gdb/testsuite/gdb.base/break-entry.exp +++ b/gdb/testsuite/gdb.base/break-entry.exp @@ -1,4 +1,4 @@ -# Copyright (C) 2010 Free Software Foundation, Inc. +# Copyright (C) 2010-2021 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,8 +16,23 @@ # Test inferior can stop at its very first instruction, usually "_start". # Dynamic executables have first instruction in ld.so. -set testfile break-entry -if { [prepare_for_testing ${testfile}.exp ${testfile} start.c {additional_flags=-static}] } { +# If we're using a stub, we'll already be debugging a live program and +# stopped at the entry point when we connect, and so the runto below +# will issue a "continue", which always skips any breakpoint at PC. +# When testing with a native target (or some other target that supports +# "run"), runto will do a "run", which first creates the process, +# leaving the PC at the entry point, just like the stub case, but then +# continues the process with the equivalent of "jump *$PC", which +# triggers any breakpoint at $PC. The latter is what we want to test. + +standard_testfile start.c + +if [use_gdb_stub] { + untested "skipping tests due to use_gdb_stub" + return +} + +if { [prepare_for_testing "failed to prepare" ${testfile} $srcfile {additional_flags=-static}] } { return -1 } @@ -30,7 +45,7 @@ gdb_test_multiple $test $test { } } if {$entry == ""} { - untested ${testfile}.exp + untested "no entrypoint" return }