| Summary: | [crosstap] systemtap error on core-image-minimal with tools-profile | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Humberto Ibarra <humberto.ibarra.lopez> |
| Component: | kernel | Assignee: | Saul Wold <sgw> |
| Status: | VERIFIED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | alexandra.safta, dl9pf, tom.zanussi, yi.zhao |
| Version: | 2.3 | ||
| Target Milestone: | 2.3 M3 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Humberto Ibarra
2017-01-30 18:29:33 UTC
We should build systemtap-native explicitly which introduced by commit 16882885f656a2312b1d441cb800e1ee28f07dcf . I have updated the test case.
But there is still an issue with crosstap:
Create the trace_open.stp script as follow:
probe syscall.open
{
printf ("%s(%d) open (%s)\n", execname(), pid(), argstr)
}
Then run crosstap:
$ crosstap root@192.168.7.2 trace_open.stp
/buildarea1/poky/build /buildarea1/poky/build
/buildarea1/poky/build
semantic error: while processing probe kernel.function("compat_sys_open").call from: __syscall.compat_open from: syscall.open from: syscall.open
semantic error: unresolved target-symbol expression: identifier '$filename' at /buildarea1/poky/build/tmp/sysroots/x86_64-linux/usr/share/systemtap/tapset/linux/syscalls2.stp:194:41
source: filename = user_string_quoted(__uint32($filename))
^
Pass 2: analysis failed. [man error::pass2]
This issue happens both on 2.3 M3 and 2.2.1 RC1.
Found some minor change that has a big impact on this bug. After going round and round with the kernel and kernel module makefiles, I found where the -I include lines where getting set incorrectly. Hopefully this fix will address that. http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=07eca818019e1969c78afa8932f0e2cda1fc8e72 http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=3f0037ce3c49ecc98c486ebf90844a4db4976b14 Verified with 2.3 M3 rc1.
git rev: master/6e20b31d5d17133e0fca086e12a0ad06ab5c4cc8
Use the the following trace_open.stp script:
probe syscall.open
{
printf ("%s(%d) open\n", execname(), pid())
}
This example is from https://sourceware.org/systemtap/SystemTap_Beginners_Guide/systemtapscript-handler.html Example 3.5
|