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]

Kernel 4.4.0 support


Hi,

I am building an STAP  driver  for

Linux ubuntu 4.4.0-83-generic #106~14.04.1-Ubuntu SMP Mon Jun 26
18:10:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

I have build the latest STAP (original STAP is 2.3 and fails to
compile Hello, world)

$ stap --version
Systemtap translator/driver (version 3.2/0.158, commit
release-3.1-121-g1c753c3afb0e + changes)
Copyright (C) 2005-2017 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
tested kernel versions: 2.6.18 ... 4.11
enabled features: NLS

These single liners work fine

sudo stap -e 'probe begin { printf("Hello, World!\n"); exit() }'
stap -p4 -e 'probe syscall.open {printf("%s %u %u\n", filename, flags, mode);}'

In this script
stap -p4 -e 'probe kprocess.exec {printf("%u %u %u\n", $filename,
$name, $argv);}'
$name (Name of the system call) is not found:

semantic error: unable to find local 'name', [man error::dwarf]
dieoffset 0x1e67307 in kernel, near pc 0xffffffff81209110 in
SyS_execve /build/linux-lts-xenial-ep3zLI/linux-lts-xenial-4.4.0/fs/exec.c
(alternatives: $filename, $ret, $argv, $envp)): identifier '$name' at
<input>:1:55


The following line fails for $pid

stap -p4 -e 'probe scheduler.process_exit {printf("%u %s %u\n", $pid,
$name, $priority);}'
semantic error: while processing probe __scheduler.process_exit.tp
from: scheduler.process_exit from: scheduler.process_exit
semantic error: unable to find tracepoint variable '$pid'
(alternatives: $p, $$name, $$parms, $$vars): identifier '$pid' at
<input>:1:52
        source: probe scheduler.process_exit {printf("%u %s %u\n",
$pid, $name, $priority);}
                                                                   ^
semantic error: unable to find tracepoint variable '$pid'
(alternatives: $p, $$name, $$parms, $$vars): identifier '$pid' at
:1:52
        source: probe scheduler.process_exit {printf("%u %s %u\n",
$pid, $name, $priority);}

Thank you, Arkady.
                                                                   ^


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