This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug tapsets/11955] signal tapsets don't match
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Thu, 31 Jan 2013 16:42:18 +0000
- Subject: [Bug tapsets/11955] signal tapsets don't match
- Auto-submitted: auto-generated
- References: <bug-11955-6586@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=11955
David Smith <dsmith at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dsmith at redhat dot com
--- Comment #4 from David Smith <dsmith at redhat dot com> 2013-01-31 16:42:18 UTC ---
This problem has gotten a bit worse. Besides the fact that handle_signal() is
typically inlined (and we usually can't find the parameters), in current
kernels the list of parameters has changed and there is no longer a set/oldset
argument. We didn't notice the missing argument since signal.handle hasn't
worked for awhile.
The suggestion in comment #3 of probing
kernel.function("get_signal_to_deliver").return
(and skipping if the signr == 0) might work for the 'signal.handle' probe
alias, but I'm unsure what we'd do about the 'signal.handle.return' probe
alias. Just deprecate it?
In current kernels, a good function to probe might be the generic
'signal_delivered' kernel function, which is called from the arch-specific
handle_signal().
Another option here might be to use the 'signal_delivered' tracepoint, although
the list of parameters is a subset of 'handle_signal'. Note that I haven't
tracked down exactly where that one gets called from in the kernel, so I'm not
sure how close of a match it is.
Finding a good solution here that handles a large range of kernels will be
tricky.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.