This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/22582] SystemTap 3.2 stap script compilation error opt
- From: "mysecondaccountabc at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Wed, 13 Dec 2017 05:21:00 +0000
- Subject: [Bug runtime/22582] SystemTap 3.2 stap script compilation error opt
- Auto-submitted: auto-generated
- References: <bug-22582-6586@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=22582
--- Comment #6 from Gustavo Moreira <mysecondaccountabc at gmail dot com> ---
(In reply to David Smith from comment #5)
> I took a look at your attachments. Your
> stapconf_1ddada75a347accc585e3d1a06438f1e_713.h file doesn't contain
> STAPCONF_UTRACE_VIA_TRACEPOINTS. This means that your kernel doesn't support
> the 5 tracepoints systemtap needs to do userspace tracing. They are:
>
> sched_process_fork, sched_process_exit, sched_process_exec, sys_enter, and
> sys_exit
>
> You can check for these tracepoints via the following:
>
> ===
> # stap -l 'kernel.trace("sched_process_*")'
> kernel.trace("sched:sched_process_exec")
> kernel.trace("sched:sched_process_exit")
> kernel.trace("sched:sched_process_fork")
> kernel.trace("sched:sched_process_free")
> kernel.trace("sched:sched_process_wait")
> # stap -l 'kernel.trace("sys_*")'
> kernel.trace("raw_syscalls:sys_enter")
> kernel.trace("raw_syscalls:sys_exit")
> ===
>
> If the sys_enter/sys_exit tracepoints are missing, that would mean your
> kernel doesn't have CONFIG_HAVE_SYSCALL_TRACEPOINTS.
Yeah, it seems the syscall tracepoints are disabled.
# stap -l 'kernel.trace("sched_process_*")'
kernel.trace("sched:sched_process_exit")
kernel.trace("sched:sched_process_fork")
kernel.trace("sched:sched_process_free")
kernel.trace("sched:sched_process_wait")
# stap -l 'kernel.trace("sys_*")'
And unfortunately it seems this kernel version doesn't support syscall
tracepoints for ARM.
~/linux-3.2.93# grep -r HAVE_SYSCALL_TRACEPOINTS arch/*
arch/powerpc/Kconfig: select HAVE_SYSCALL_TRACEPOINTS
arch/s390/Kconfig: select HAVE_SYSCALL_TRACEPOINTS
arch/sh/Kconfig: select HAVE_SYSCALL_TRACEPOINTS
arch/sparc/Kconfig: select HAVE_SYSCALL_TRACEPOINTS
arch/x86/Kconfig: select HAVE_SYSCALL_TRACEPOINTS
Wonderful :S
So, let's start again. I will install everything from scratch using a fresh
Debian Jessie with kernel 3.16.0-4 and GCC 4.9.2. Should those be enough?
As per the kernel config features, what exactly does SystemTap need? That's a
bit confusing because different pages say different things. For instance, in
the official wiki for using systemtap with self-built kernels
[https://sourceware.org/systemtap/wiki/SystemTapWithSelfBuiltKernel], it
doesn't mention neither CONFIG_TRACEPOINTS nor CONFIG_HAVE_SYSCALL_TRACEPOINTS.
I know that would depend on what SystemTap features I will use but, let's say,
to have full support. Where can I find the most updated documentation about it?
I've gathered this list from different sources, should this be enough? Do you
recommend to add or remove something?
CONFIG_KPROBES=y
CONFIG_KPROBES_SANITY_TEST=n
CONFIG_KPROBE_EVENT=y
CONFIG_NET_DCCPPROBE=m
CONFIG_NET_SCTPPROBE=m
CONFIG_NET_TCPPROBE=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_REDUCED=n
CONFIG_ARM_KPROBES_TEST=n
CONFIG_TRACEPOINTS=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
Cheers,
Gus
--
You are receiving this mail because:
You are the assignee for the bug.