1 # memory barrier function implemented only for some architectures
2 config BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
5 depends on BR2_arceb || BR2_arcle || BR2_arm || BR2_armeb || \
6 BR2_aarch64 || BR2_aarch64_be || BR2_i386 || BR2_mips || \
7 BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc || \
8 BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
9 BR2_sparc || BR2_sparc64 || BR2_x86_64
11 config BR2_PACKAGE_OPROFILE
13 depends on BR2_USE_MMU # fork()
14 select BR2_PACKAGE_POPT
15 select BR2_PACKAGE_BINUTILS
16 select BR2_PACKAGE_LIBPFM4 if BR2_powerpc
17 depends on BR2_INSTALL_LIBSTDCPP
18 depends on BR2_USE_WCHAR # binutils
19 depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
20 # libpfm4 is needed on PowerPC, and requires thread support
21 depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_powerpc
23 OProfile is a system-wide profiler for Linux systems,
24 capable of profiling all running code at low overhead.
25 OProfile is released under the GNU GPL.
27 It consists of a kernel driver and a daemon for collecting
28 sample data, and several post-profiling tools for turning
29 data into information.
31 OProfile leverages the hardware performance counters of the
32 CPU to enable profiling of a wide variety of interesting
33 statistics, which can also be used for basic time-spent
34 profiling. All code is profiled: hardware and software
35 interrupt handlers, kernel modules, the kernel, shared
36 libraries, and applications.
38 comment "oprofile needs a toolchain w/ C++, wchar"
39 depends on BR2_USE_MMU
40 depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
41 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
43 comment "oprofile needs a toolchain w/ NPTL on PPC"
44 depends on BR2_USE_MMU && BR2_powerpc
45 depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL