diff options
Diffstat (limited to 'gdb/testsuite/gdb.guile')
-rw-r--r-- | gdb/testsuite/gdb.guile/scm-breakpoint.c | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.guile/scm-breakpoint.exp | 23 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.guile/scm-breakpoint.c b/gdb/testsuite/gdb.guile/scm-breakpoint.c index 16700416..ed7dbdb 100644 --- a/gdb/testsuite/gdb.guile/scm-breakpoint.c +++ b/gdb/testsuite/gdb.guile/scm-breakpoint.c @@ -15,6 +15,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#ifdef USE_PROBES +#include <sys/sdt.h> +#endif + int result = 0; int multiply (int i) @@ -38,6 +42,9 @@ int main (int argc, char *argv[]) { result += multiply (foo); /* Break at multiply. */ result += add (bar); /* Break at add. */ +#ifdef USE_PROBES + DTRACE_PROBE1 (test, result_updated, result); +#endif } return 0; /* Break at end. */ diff --git a/gdb/testsuite/gdb.guile/scm-breakpoint.exp b/gdb/testsuite/gdb.guile/scm-breakpoint.exp index 47bc80c..183ad16 100644 --- a/gdb/testsuite/gdb.guile/scm-breakpoint.exp +++ b/gdb/testsuite/gdb.guile/scm-breakpoint.exp @@ -499,6 +499,28 @@ proc test_bkpt_address {} { ".*Breakpoint ($decimal)+ at .*$srcfile, line ($decimal)+\." } +proc test_bkpt_probe {} { + global decimal hex testfile srcfile + + if { [prepare_for_testing "failed to prepare" ${testfile}-probes \ + ${srcfile} {additional_flags=-DUSE_PROBES}] } { + return -1 + } + + if ![gdb_guile_runto_main] then { + return + } + + gdb_scm_test_silent_cmd \ + "guile (define bp1 (make-breakpoint \"-probe test:result_updated\"))" \ + "create probe breakpoint" + + gdb_test \ + "guile (register-breakpoint! bp1)" \ + "Breakpoint $decimal at $hex" \ + "register probe breakpoint" +} + test_bkpt_basic test_bkpt_deletion test_bkpt_cond_and_cmds @@ -508,3 +530,4 @@ test_bkpt_internal test_bkpt_eval_funcs test_bkpt_registration test_bkpt_address +test_bkpt_probe |