This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: UProbes fails
On Fri, 2010-09-03 at 20:27 +0200, Tim Beaulen wrote:
> Looking at dmesg, I get this information:
>
> In 32-bit apps, uprobes does not currently support probing
> instructions whose first byte is 0xf0
> Can't place uprobe at pid 4498 vaddr 0xb0bf9750: instruction type
> cannot be probed
>
> This means I cant just do probe process("/some/process").function("*").call etc.
> A little bit annoying, but absolutely not a problem, systemtap is
> luckely flexible enough to work around it.
0xf0 is the lock prefix. As far as I know, we never enabled probing of
instructions with the f0 prefix because we never got around to testing
it. Will it work? I have no evidence either way.
If you want to try it, I think all you need to do is this:
# cd /usr/local/share/systemtap/runtime/uprobes (or wherever it is on
your system)
# Edit ../uprobes2/uprobes_x86.c
In check_legacy_prefix(), move "case 0xf0:" to below the "return -1;"
line.
# rmmod uprobes.ko
# make
# insmod uprobes.ko (optional; stap will do this for you
# stap ...
... and let us know what happens. Uprobes is outside my bailiwick now,
so if that doesn't work, I can offer only limited support.
Jim