X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fbreak-catch-throw.c;h=e9523a6eb86014a207b74ffbfa137ae6799467d3;hb=cedfc77485dbb566619dc1e2d729ce0a70d1a4ad;hp=17e3d26d376906e61caa1fcdc91e474b9f93b59e;hpb=a38118e5d165324b4f9509fd82cf1f1c6421bfc5;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c index 17e3d26d37..e9523a6eb8 100644 --- a/gdb/break-catch-throw.c +++ b/gdb/break-catch-throw.c @@ -106,14 +106,16 @@ fetch_probe_arguments (struct value **arg0, struct value **arg1) unsigned n_args; pc_probe = find_probe_by_pc (pc); - if (pc_probe.prob == NULL - || pc_probe.prob->get_provider () != "libstdcxx" + if (pc_probe.prob == NULL) + error (_("did not find exception probe (does libstdcxx have SDT probes?)")); + + if (pc_probe.prob->get_provider () != "libstdcxx" || (pc_probe.prob->get_name () != "catch" && pc_probe.prob->get_name () != "throw" && pc_probe.prob->get_name () != "rethrow")) error (_("not stopped at a C++ exception catchpoint")); - n_args = pc_probe.prob->get_argument_count (frame); + n_args = pc_probe.prob->get_argument_count (get_frame_arch (frame)); if (n_args < 2) error (_("C++ exception catchpoint has too few arguments")); @@ -235,7 +237,7 @@ print_it_exception_catchpoint (bpstat bs) bp_temp = b->disposition == disp_del; uiout->text (bp_temp ? "Temporary catchpoint " : "Catchpoint "); - uiout->field_int ("bkptno", b->number); + uiout->field_signed ("bkptno", b->number); uiout->text ((kind == EX_EVENT_THROW ? " (exception thrown), " : (kind == EX_EVENT_CATCH ? " (exception caught), " : " (exception rethrown), ")));