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]

[Bug tapsets/16956] nd_syscall.* tapset shouldn't rely on @cast() against kernel debuginfo


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.


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