]> sourceware.org Git - systemtap.git/commit
Fix runtime/itrace.c to call arch_has_*_step() prior to calling utrace_control
authorMaynard Johnson <maynardj@us.ibm.com>
Wed, 1 Apr 2009 14:51:57 +0000 (09:51 -0500)
committerJosh Stone <jistone@redhat.com>
Wed, 1 Apr 2009 23:33:22 +0000 (16:33 -0700)
commit489afa702639fd10e9756795bd516d939766247d
treea6951f8542398c73bfe5c6a0fd5d796560f77f43
parent4cc40e829870dd6a1d9714706d38f5fd4b2ec982
Fix runtime/itrace.c to call arch_has_*_step() prior to calling utrace_control

As Roland pointed out in his Mar 31 reply to a posting of mine (subject:
Re: Testing insn.block probe point uncovers possible utrace bug),
utrace_control() documents that the caller must ensure that
arch_has_single_step and arch_has_block_step are defined before trying
to use those step modes.  The attached patch addresses that issue.  I've
tested this patch on x86_64 arch, and a block step test runs
successfully, since block step is supported on that arch.  Testing on
ppc64 arch, the test fails as expected (since block step is not
supported on ppc64 yet) with:
"ERROR: callback for <pid> failed: 1"
which is sent to stdderr and
"usr_itrace_init: arch does not support block step mode"
which is sent to the system log.

This isn't the most user-friendly way of surfacing an error.  Perhaps
the stap runtime could have a set of defined return codes that would be
mapped to strings so the user can get an idea of what the error is
without looking in the system log.  But that's a side issue, of course.

Regards,
-Maynard
runtime/itrace.c
This page took 0.029716 seconds and 5 git commands to generate.