cec7adea4f
oprofile already needed libpfm4 for PowerPC, but in fact it also needs it for PowerPC64 and PowerPC64le, so this commit adds a BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4 hidden option and uses it to decide if libpfm4 is needed or not. Fixes: http://autobuild.buildroot.net/results/d19caeb445b7040cbd2e4ff62b7db9986e84b6ab/ (powerpc64le) http://autobuild.buildroot.net/results/66dd4f7ff635915a506f96d1d8115ac48cca0c6c/ (powerpc64) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
50 lines
1.9 KiB
Plaintext
50 lines
1.9 KiB
Plaintext
# memory barrier function implemented only for some architectures
|
|
config BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
|
|
bool
|
|
default y
|
|
depends on BR2_arceb || BR2_arcle || BR2_arm || BR2_armeb || \
|
|
BR2_aarch64 || BR2_aarch64_be || BR2_i386 || BR2_mips || \
|
|
BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_powerpc || \
|
|
BR2_powerpc64 || BR2_powerpc64le || BR2_sh || \
|
|
BR2_sparc || BR2_sparc64 || BR2_x86_64
|
|
|
|
config BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
|
|
bool
|
|
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
|
|
|
config BR2_PACKAGE_OPROFILE
|
|
bool "oprofile"
|
|
depends on BR2_USE_MMU # fork()
|
|
select BR2_PACKAGE_POPT
|
|
select BR2_PACKAGE_BINUTILS
|
|
select BR2_PACKAGE_LIBPFM4 if BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on BR2_USE_WCHAR # binutils
|
|
depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
|
|
# libpfm4 is needed on PowerPC, and requires thread support
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
|
|
help
|
|
OProfile is a system-wide profiler for Linux systems,
|
|
capable of profiling all running code at low overhead.
|
|
OProfile is released under the GNU GPL.
|
|
|
|
It consists of a kernel driver and a daemon for collecting
|
|
sample data, and several post-profiling tools for turning
|
|
data into information.
|
|
|
|
OProfile leverages the hardware performance counters of the
|
|
CPU to enable profiling of a wide variety of interesting
|
|
statistics, which can also be used for basic time-spent
|
|
profiling. All code is profiled: hardware and software
|
|
interrupt handlers, kernel modules, the kernel, shared
|
|
libraries, and applications.
|
|
|
|
comment "oprofile needs a toolchain w/ C++, wchar"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS
|
|
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
|
|
|
|
comment "oprofile needs a toolchain w/ NPTL on PowerPC(64)"
|
|
depends on BR2_USE_MMU && BR2_PACKAGE_OPROFILE_NEEDS_LIBPFM4
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|