linux-intel/4.14: Fix 32-bit perf issue

Perf fails to compile for 32-bit without this patch. I have requested
for Bruce to submit it upstream.

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
This commit is contained in:
California Sullivan 2017-12-18 14:16:21 -08:00
parent 2821e296a3
commit f0a462b71f
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,41 @@
From 57af599929263e7bb6f2f369c9e4bc1e440528a9 Mon Sep 17 00:00:00 2001
From: Bruce Ashfield <bruce.ashfield@windriver.com>
Date: Mon, 21 Aug 2017 13:52:53 -0400
Subject: [PATCH 1/1] perf: x86-32: explicitly include <errno.h>
Upstream-Status: submitted
The 32bit x86 perf build does not find the system definitions of error
return values, hence we end up with:
| In file included from util/libunwind/x86_32.c:32:0:
| util/libunwind/../../arch/x86/util/unwind-libunwind.c: In function 'libunwind__x86_reg_id':
| util/libunwind/../../arch/x86/util/unwind-libunwind.c:109:11: error: 'EINVAL' undeclared (first use in this function); did you mean 'UNW_EINVAL'?
| return -EINVAL;
| ^~~~~~
| UNW_EINVAL
By explicitly including errno.h, we can fix this build without impacting
other architectures.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
tools/perf/util/libunwind/x86_32.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/perf/util/libunwind/x86_32.c b/tools/perf/util/libunwind/x86_32.c
index 957ffff72428..d781f7bdeb88 100644
--- a/tools/perf/util/libunwind/x86_32.c
+++ b/tools/perf/util/libunwind/x86_32.c
@@ -20,6 +20,7 @@
#define LIBUNWIND__ARCH_REG_IP PERF_REG_X86_IP
#define LIBUNWIND__ARCH_REG_SP PERF_REG_X86_SP
+#include <errno.h>
#include "unwind.h"
#include "debug.h"
#include "libunwind-x86.h"
--
2.14.3

View File

@ -3,6 +3,9 @@ require linux-intel.inc
KBRANCH = "4.14/yocto/base"
KMETA_BRANCH = "yocto-4.9"
# Fix for 32-bit perf issue. Remove when patch is backported to 4.14.
SRC_URI_append = " file://0001-perf-x86-32-explicitly-include-errno.h.patch"
LINUX_VERSION ?= "4.14.0"
SRCREV_machine ?= "bebc6082da0a9f5d47a1ea2edc099bf671058bd4"
SRCREV_meta ?= "f4e37e151102d89c4d0e110c88eb3b3c36bdeaa4"