This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug tapsets/16956] nd_syscall.* tapset shouldn't rely on @cast() against kernel debuginfo
- From: "fche at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Sat, 17 May 2014 16:03:47 +0000
- Subject: [Bug tapsets/16956] nd_syscall.* tapset shouldn't rely on @cast() against kernel debuginfo
- Auto-submitted: auto-generated
- References: <bug-16956-6586 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16956
--- Comment #1 from Frank Ch. Eigler <fche at redhat dot com> ---
The nd_syscall.* tapset conatins constructs such as:
probe __nd_syscall.socketcall.recv = kprobe.function("sys_socketcall").call ?
{
asmlinkage()
if (int_arg(1) != %{ SYS_RECV %}) next;
__args = pointer_arg(2)
s = __int32(user_ulong(&@cast(__args, "ulong")[0]))
buf_uaddr = user_ulong(&@cast(__args, "ulong")[1])
len = user_ulong(&@cast(__args, "ulong")[2])
flags = __uint32(user_ulong(&@cast(__args, "ulong")[3]))
}
where all those @cast() expressions require kernel debuginfo
to resolve. Build a CONFIG_DEBUG_INFO=n vmlinux, as available
on arch-linux e.g., then see
probe nd_syscall.* {}
cause
WARNING: cannot find module kernel debuginfo: No DWARF information found ...
semantic error: type definition 'ulong' not found in 'kernel' ...
The non-dwarf tapset shouldn't need dwarf that it can't fabricate
from e.g. headers like <linux/types.h>.
--
You are receiving this mail because:
You are the assignee for the bug.