This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]