[OE-core] [PATCH] perf: fix do_compile failure with /tmp mounted with noexec

Hongxu Jia hongxu.jia at windriver.com
Thu Oct 18 13:28:44 UTC 2018


On a builder which has /tmp mounted nexec, the ARM64 generation of
the sycall table will fail:
[snip]
|perf-1.0/tools/perf/arch/arm64/entry/syscalls//mksyscalltbl:
/tmp/create-table-6VGPSt: Permission denied
[snip]

To avoid the permission denied error, we must instruct the perf build
to place temporary files in an appropriate directory (versus always
using /tmp). To do this, we need both a kernel source change to perf,
and a recipe change to pass the temp directory in by a TMPDIR variable.

The linux-yocto has a reference kernel change: [perf arm64: Fix generate
system call table failed with /tmp mounted with noexec], that has also
been submitted upstream mailing list linux-perf-users at vger.kernel.org

Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
Reviewed-by: Bruce Ashfield <bruce.ashfield at windriver.com>
---
 meta/recipes-kernel/perf/perf.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 586422f..af09904 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -75,6 +75,7 @@ EXTRA_OEMAKE = '\
     perfexecdir=${libexecdir} \
     NO_GTK2=1 \
     ${PACKAGECONFIG_CONFARGS} \
+    TMPDIR="${B}" \
 '
 
 EXTRA_OEMAKE += "\
-- 
2.10.2




More information about the Openembedded-core mailing list