systemtap test suite failed to build due to missing kernel configs.
with respect to previous bug, the investigation needs to be done.
systemtap fails to build for arndale-uprobe testing
https://bugs.launchpad.net/linaro-ci/+bug/1303785
However, it fails later on (using the script provided by Naresh):
kernel location:
kernel version: 3.14.0-linaro-arndale
systemtap location: /usr/local/bin/stap
systemtap version: version 2.5/0.157, non-git sources
gcc location: /usr/bin/gcc
gcc version: gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
**** failed systemtap kernel-devel smoke test:
Makefile:622: Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: -fstack-protector not supported by compiler
In file included from include/linux/kobject.h:21:0,
from include/linux/module.h:16,
from /usr/local/share/systemtap/runtime/linux/runtime.h:14,
from /usr/local/share/systemtap/runtime/runtime.h:24,
from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
include/linux/sysfs.h: In function 'sysfs_get_dirent':
include/linux/sysfs.h:449:2: error: pointer targets in passing argument 2 of 'kernfs_find_and_get' differ in signedness [-Werror=pointer-sign]
return kernfs_find_and_get(parent, name);
^
In file included from include/linux/sysfs.h:15:0,
from include/linux/kobject.h:21,
from include/linux/module.h:16,
from /usr/local/share/systemtap/runtime/linux/runtime.h:14,
from /usr/local/share/systemtap/runtime/runtime.h:24,
from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
include/linux/kernfs.h:331:1: note: expected 'const char *' but argument is of type 'const unsigned char *'
kernfs_find_and_get(struct kernfs_node *kn, const char *name)
^
In file included from /usr/local/share/systemtap/runtime/linux/task_finder.c:17:0,
from /usr/local/share/systemtap/runtime/linux/runtime.h:192,
from /usr/local/share/systemtap/runtime/runtime.h:24,
from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
/usr/local/share/systemtap/runtime/linux/task_finder2.c: In function '__stp_utrace_attach_match_filename':
/usr/local/share/systemtap/runtime/linux/task_finder2.c:821:11: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
tsk_euid = task_euid(tsk);
^
/usr/local/share/systemtap/runtime/linux/task_finder2.c: In function 'stap_start_task_finder':
/usr/local/share/systemtap/runtime/linux/task_finder2.c:1711:12: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
tsk_euid = task_euid(tsk);
^
In file included from /usr/local/share/systemtap/runtime/linux/runtime.h:198:0,
from /usr/local/share/systemtap/runtime/runtime.h:24,
from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
/usr/local/share/systemtap/runtime/sym.c: In function '_stp_snprint_addr':
/usr/local/share/systemtap/runtime/sym.c:567:4: error: implicit declaration of function 'preempt_enable_no_resched' [-Werror=implicit-function-declaration]
preempt_enable_no_resched();
^
In file included from include/linux/sched.h:53:0,
from include/linux/ptrace.h:5,
from include/linux/ftrace.h:13,
from include/linux/kprobes.h:42,
from /usr/local/share/systemtap/runtime/linux/runtime.h:21,
from /usr/local/share/systemtap/runtime/runtime.h:24,
from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:24:
/usr/local/share/systemtap/runtime/transport/control.c: In function '_stp_ctl_write_cmd':
include/linux/cred.h:333:25: error: incompatible types when initializing type 'uid_t' using type 'kuid_t'
#define current_euid() (current_cred_xxx(euid))
^
/usr/local/share/systemtap/runtime/transport/control.c:41:15: note: in expansion of macro 'current_euid'
uid_t euid = current_euid();
^
In file included from /usr/local/share/systemtap/runtime/linux/print.c:17:0,
from /usr/local/share/systemtap/runtime/print.c:17,
from /usr/local/share/systemtap/runtime/runtime_context.h:22,
from /tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.c:46:
/usr/local/share/systemtap/runtime/transport/transport.c: In function '_stp_transport_init':
/usr/local/share/systemtap/runtime/transport/transport.c:344:11: error: incompatible types when assigning to type 'uid_t' from type 'kuid_t'
_stp_uid = current_uid();
^
/usr/local/share/systemtap/runtime/transport/transport.c:345:11: error: incompatible types when assigning to type 'gid_t' from type 'kgid_t'
_stp_gid = current_gid();
^
cc1: all warnings being treated as errors
make[4]: *** [/tmp/stapAd5hoM/stap_b8bd15d808f759433855a4956409904d_878_src.o] Error 1
make[3]: *** [_module_/tmp/stapAd5hoM] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed. [man error::pass4]
**** aborting testing.
It seems related to kernel namespaces (CONFIG_USER_NS).
@Naresh: please investigate and fill another bug if needed.
CONFIG_USER_NS is not set by default in exynos_defconfig. It needs to be set. Problems can also arise if using an old version of systemtap.
Also note that exynos_defconfig also does not set kprobes or uprobes configs by default (unlike panda which does select kprobes by default). CONFIG_RELAY also still has to be added.