http://autobuilder.yoctoproject.org:8010/builders/nightly-ppc/builds/598/steps/shell_52/logs/stdio
| arch/powerpc/kernel/built-in.o: In function `do_notify_resume': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/arch/powerpc/kernel/signal.c:193: undefined reference to `uprobe_notify_resume' | arch/powerpc/kernel/built-in.o: In function `arch_uprobe_exception_notify': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/arch/powerpc/kernel/uprobes.c:129: undefined reference to `uprobe_pre_sstep_notifier' | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/arch/powerpc/kernel/uprobes.c:133: undefined reference to `uprobe_post_sstep_notifier' | kernel/built-in.o: In function `mmput': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/fork.c:580: undefined reference to `uprobe_clear_state' | kernel/built-in.o: In function `mm_release': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/fork.c:759: undefined reference to `uprobe_free_utask' | kernel/built-in.o: In function `dup_mm': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/fork.c:815: undefined reference to `uprobe_reset_state' | kernel/built-in.o: In function `dup_mmap': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/fork.c:430: undefined reference to `uprobe_mmap' | kernel/built-in.o: In function `copy_process': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/fork.c:1358: undefined reference to `uprobe_copy_process' | kernel/built-in.o: In function `get_signal_to_deliver': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/signal.c:2206: undefined reference to `uprobe_deny_signal' | kernel/built-in.o: In function `probe_event_enable': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/trace/trace_uprobe.c:550: undefined reference to `uprobe_register' | kernel/built-in.o: In function `probe_event_disable': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/kernel/trace/trace_uprobe.c:568: undefined reference to `uprobe_unregister' | mm/built-in.o: In function `unmap_single_vma': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/memory.c:1311: undefined reference to `uprobe_munmap' | mm/built-in.o: In function `vma_adjust': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:629: undefined reference to `uprobe_mmap' | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:637: undefined reference to `uprobe_munmap' | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:658: undefined reference to `uprobe_mmap' | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:552: undefined reference to `uprobe_munmap' | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:555: undefined reference to `uprobe_munmap' | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:632: undefined reference to `uprobe_mmap' | mm/built-in.o: In function `mmap_region': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:1393: undefined reference to `uprobe_mmap' | mm/built-in.o: In function `insert_vm_struct': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:2379: undefined reference to `uprobe_mmap' | mm/built-in.o: In function `copy_vma': | /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/mpc8315e_rdb-poky-linux/linux-yocto-3.4.10+git8+e0374ce012e7e6fc8e5bb8b957addb0478950898_4+363a6f7e0c95aabec779a7ea3474662d191b935c-r4.1/linux/mm/mmap.c:2452: undefined reference to `uprobe_mmap' | make[2]: *** [.tmp_vmlinux1] Error 1 | make[1]: *** [sub-make] Error 2 | make: *** [all] Error 2 | ERROR: oe_runmake failed
This would be related to TomZ's uprobes/kprobes updates .. I'd suggest that he have a look :)
It's just a matter of disabling the functionality for this board, or #ifdefing the patches. I can look into nuking them for the board.
My patches simply added the missing config options and turned them on. Looks like something was missing from the original patchset, which should work for powerpc.
right. qemuppc definitely builds. Something is missing in the series for that arch/subarch. I'll start a build and disable it for that board, while we look into it more. A similar build issue was reported on another non-yocto board.
warning: (UPROBE_EVENT) selects UPROBES which has unmet direct dependencies (UPROBE_EVENT &&\ PERF_EVENTS) The UPROBE_EVENT config options appear in .config: CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_UPROBES=y CONFIG_UPROBE_EVENT=y but PERF_EVENTS is missing for this board: # CONFIG_PERF_EVENTS is not set
So UPROBES depends on PERF_EVENTS, so one option would be to add PERF_EVENTS to the uprobes feature, but that seems backwards. Wondering why mpc8315 doesn't have PERF_EVENTS turned on already like everything else.
Hmm. It should. I've reproduced the build failure now, will try to tweak that. It's much better to fix this build vs hiding it, so you are on the right track.
Confirmed. It does just look like a missing config option for the board to get it up and building. But there's a missing dependency in the kernel, since if perf events is off, everything really should be off as well. I'll do a fix for the board config, but I'm going to take a few minutes to look into the dependency as well.
I've patched the Kconfig line to select what it needs, this now builds out of the box. I pushed the new kernel, but will send the pull request in a bit.
So, looking a bit more into it, x86 always selects CONFIG_PERF_EVENTS, and CONFIG_PERF_EVENTS is also selected automatically if CONFIG_PROFILING is selected. CONFIG_PROFILING is selected by features/profiling/profiling.scc, which most of the BSPs do, but of course not mpc8315, so we see this error. Other BSPs may be at 3.0, in which case we also won't see the error since they don't have UPROBES. So, since UPROBES is after all dependent on PERF_EVENTS, PERF_EVENTS should be turned on by the UPROBES feature, which should fix this problem.
ok. thanks for the confirmation, the mpc *should* be including that profiling fragment, but the select Kconfig fix is good as well. The following worked for me: http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.4/commit/?h=standard/base&id=59c3ff750831338d05ab67d5efd7fc101c451aff
Yeah, that should work, and probably makes more sense than the way things are now - i.e. selecting PERF_EVENTS if UPROBE_EVENTS is selected makes more sense to me than having UPROBES depend on PERF_EVENTS, which frankly to me is nonintuitive. I'll submit my patch to uprobes.cfg just to reflect the current situation and make sure they can't get out of sync.
Just a couple other things noticed while examining the current BSPS - all the qemu machines include profiling.scc but the meta-yocto-bsp BSPs other than atom-pc by virtue of inheriting common-pc don't and therefore don't get PERF_EVENTS and OPROFILE. Also, the powertop feature seems circular - profiling.cfg includes stuff for powertop, while powertop includes profiling.scc.
commit ffc3b5ded372bdebcb610b7aac91ff56cabeddce in poky master.
Verified under master branch. Latest commit ID: 2c3e8280e67721d42d4be48a8e2c1e9ce9bb89fd