aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/perf/perf.bb
AgeCommit message (Collapse)Author
2014-06-13perf: fix broken shell comparsion in do_installHenning Heinold
The patch was sponsored by sysmocom Signed-off-by: Henning Heinold <henning@itconsulting-heinold.de> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-10perf: Fix sysroot option to CC handlingRichard Purdie
If you build perf in tree /xxx/treea, then cleansstate perf and build it in /xxx/treeb having deleted treea, the build will fail, unable to find libc. The problem is that the --sysroot option passed in through CC is missing. This works fine if the default sysroot is ok, if it isn't, things will fail. In 1.7 we'll start poisoning the default sysroot in gcc to catch this kind of issue however that doesn't fix the problem with perf. The problem is that various Makefiles set CC = $(CROSS_COMPILE)gcc. The easist fix for now is to sed out the problematic Makefile lines. Its worth noting the tools/lib/traceevent Makefile has a much more funky way of setting CC which works for us and may be the way we need to fix the other Makefiles upstream. This fixes build failures we're occasionally seen on the autobuilders. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-21perf: add libexec and traceevent to packagesBruce Ashfield
Recent versions of perf may install files into /usr/libexec/perf-core and in /usr/lib/traceevent. To avoid packaging QA errors, we add these two directories to the FILES variables. We also add: INHIBIT_PACKAGE_DEBUG_SPLIT="1" to avoid the following issue (due to a trailing / being removed): ERROR: debugedit failed with exit code 256 ... debugedit: canonicalization unexpectedly shrank by one character And finally, we must ensure that the traceevent libraries are installed to the proper multilib library path. If building some multlibs, the incorrect library path will be selected by perf, since it triggers via: ifeq ($(ARCH),x86_64) (or similiar mechanism per arch). In a 32 bit build, with a 64 bit multilib, the arch won't match and the detection of a 64 bit build (and library) are not exected. To ensure that libraries are installed to the correct location, we can make the substitution in the config/Makefile. For non multilib builds, this has no impact. Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-07perf: don't use oe.path.relativeRoss Burton
Instead of using oe.path.relative, use the Python Standard Library function os.path.relpath. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-12-09perf: Disable warnings as errors for kernels 3.1+Konrad Scherer
Turns out the sed command has not been working as intended since kernel 3.1 due to the trailing space. Adding the WERROR=0 environment variable is the correct way to disable warnings as errors. Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-10-26perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for mips64Wenzong Fan
As the same reason to powerpc64, mips64 also need the flag. Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-18perf: flag __SANE_USERSPACE_TYPES__ to include int-ll64.h for powerpc64Ting Liu
PPC64 uses long long for u64 in the kernel, but powerpc's asm/types.h prevents 64-bit userland from seeing this definition, instead defaulting to u64 == long in userspace. Perf want LL64, flag __SANE_USERSPACE_TYPES__ to get int-ll64.h. Fix the below issue: | tests/attr.c:71:4: error: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type '__u64' [-Werror=format=] | tests/attr.c:80:7: error: format '%llu' expects argument of type 'long long unsigned int', but argument 4 has type '__u64' [-Werror=format=] | attr->type, attr->config, fd) < 0) { | ^ Signed-off-by: Ting Liu <b28495@freescale.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-09-18perf: Add LDFLAGS to allow build of old kernels without patchingOtavio Salvador
The LDFLAGS is required or some old kernels fails due missing symbols and this is preferred than requiring patches to every old supported kernel. Fixes [YOCTO: #5221] Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17perf: Ensure we use CFLAGS and LDFLAGS settings from kernel build systemOtavio Salvador
The kernel build system does the right thing here and we should stop overriding it. This code has been added based on a change from 'meta-metro' layer, revision 9d698004137c1a888d40d6a4808d94afa22387e7, without any information about what problem it fixes so I am reverting it. Using the CFLAGS and LDFLAGS makes it impossible for kernel build system to append to it, thus making the build fail in various ways as: | CC /.../perf/1.0-r8/perf-1.0/perf.o | In file included from builtin.h:4:0, | from perf.c:9: | util/util.h:74:24: fatal error: lk/debugfs.h: No such file or directory | #include <lk/debugfs.h> | ^ | compilation terminated. The unset is done in do_compile and do_install otherwise it /rebuild/ perf as it detects the compiler options has change. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12perf: source should be ready after do_unpackRobert Yang
In perf.bb: S = "${STAGING_KERNEL_DIR}" So the source should be ready after the do_unpack, and we need this: do_unpack[depends] += "virtual/kernel:do_populate_sysroot" Otherwise, maybe no source after do_unpack. [YOCTO #5168] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27perf: Ensure we general PIC code to avoid build failuresRichard Purdie
Without this we see relocation errors on mips with 3.10. This should be safe to be included in general. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-18perf: Ensure license is handled correctlyRichard Purdie
The do_populate_lic task has a race with the recipe since it relies on the kernel being populated in the sysroot. This patch adds in the explicit missing dependency. [YOCTO #3534] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-19perf: Fix parsing errorRichard Purdie
Due to the use of ${@...} the code will try and expand this when performing the initial parsing. If the sysroot doesn't exist with an existing kernel, this will fail at parsing time. Sinec we're already in python, just remove the ${@....} wrapping and then we execute at do_package time which is what we want. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-19perf: make PKGV match kernel versionTom Zanussi
Have perf grab and use the kernel version it's built from for PKGV, rather than the default perf recipe version, so the final packages get the kernel version instead of the default 1.0, which represents a backwards value from the previous recipe. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-09perf: rename perf_3.4 to perfTom Zanussi
There's nothing kernel-version-specific about the perf_3.4 recipe, so it's actually misnamed and misleading now that it also gets used with the 3.8 kernel. Since the recipe isn't tied to a specific PV, and simply uses whatever's in STAGING_KERNEL_DIR, there's no reason to add anything else either to the bare PN, so just use that as the recipe name. Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>