aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2020-05-12 15:23:01 +0200
committerFelix Fietkau <nbd@nbd.name>2020-06-04 21:52:57 +0200
commit2dd26fda16a4574c91d02f4b1ccb2ce121e764c8 (patch)
tree7f5d777032c81d484db0431cb7da9f6738249d5d /target/linux
parent5aa2ddd0d6b9759c62bbb7bb11b72a7f4269c16b (diff)
downloadupstream-2dd26fda16a4574c91d02f4b1ccb2ce121e764c8.tar.gz
upstream-2dd26fda16a4574c91d02f4b1ccb2ce121e764c8.tar.bz2
upstream-2dd26fda16a4574c91d02f4b1ccb2ce121e764c8.zip
kernel: fix portability issue with perf on linux 5.4
Remove dependencies on core kernel headers in host tools used to build perf, which break on any non-linux system Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/generic/hack-5.4/212-tools_portability.patch (renamed from target/linux/generic/hack-5.4/212-byteshift_portability.patch)51
1 files changed, 48 insertions, 3 deletions
diff --git a/target/linux/generic/hack-5.4/212-byteshift_portability.patch b/target/linux/generic/hack-5.4/212-tools_portability.patch
index 1a5ac87988..0d8eb6fb9d 100644
--- a/target/linux/generic/hack-5.4/212-byteshift_portability.patch
+++ b/target/linux/generic/hack-5.4/212-tools_portability.patch
@@ -1,9 +1,8 @@
From 48232d3d931c95953ce2ddfe7da7bb164aef6a73 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 7 Jul 2017 17:03:16 +0200
-Subject: linux-3.6: fix portability of some includes files in tools/ used on the host
+Subject: fix portability of some includes files in tools/ used on the host
-lede-commit: 6040b1d29ab1f047c5e49b748abcb6a3196add28
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
tools/include/tools/be_byteshift.h | 4 ++++
@@ -40,26 +39,72 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static inline uint16_t __get_unaligned_le16(const uint8_t *p)
--- /dev/null
+++ b/tools/include/tools/linux_types.h
-@@ -0,0 +1,22 @@
+@@ -0,0 +1,26 @@
+#ifndef __LINUX_TYPES_H
+#define __LINUX_TYPES_H
+
+#include <stdint.h>
+
++typedef int8_t __s8;
+typedef uint8_t __u8;
+typedef uint8_t __be8;
+typedef uint8_t __le8;
+
++typedef int16_t __s16;
+typedef uint16_t __u16;
+typedef uint16_t __be16;
+typedef uint16_t __le16;
+
++typedef int32_t __s32;
+typedef uint32_t __u32;
+typedef uint32_t __be32;
+typedef uint32_t __le32;
+
++typedef int64_t __s64;
+typedef uint64_t __u64;
+typedef uint64_t __be64;
+typedef uint64_t __le64;
+
+#endif
+--- a/tools/include/linux/types.h
++++ b/tools/include/linux/types.h
+@@ -7,8 +7,12 @@
+ #include <stdint.h>
+
+ #define __SANE_USERSPACE_TYPES__ /* For PPC64, to get LL64 types */
++#ifndef __linux__
++#include <tools/linux_types.h>
++#else
+ #include <asm/types.h>
+ #include <asm/posix_types.h>
++#endif
+
+ struct page;
+ struct kmem_cache;
+--- a/tools/perf/pmu-events/jevents.c
++++ b/tools/perf/pmu-events/jevents.c
+@@ -1,4 +1,6 @@
++#ifdef __linux__
+ #define _XOPEN_SOURCE 500 /* needed for nftw() */
++#endif
+ #define _GNU_SOURCE /* needed for asprintf() */
+
+ /* Parse event JSON files */
+@@ -35,6 +37,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
++#include <strings.h>
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <stdarg.h>
+--- a/tools/perf/pmu-events/json.c
++++ b/tools/perf/pmu-events/json.c
+@@ -38,7 +38,6 @@
+ #include <unistd.h>
+ #include "jsmn.h"
+ #include "json.h"
+-#include <linux/kernel.h>
+
+
+ static char *mapfile(const char *fn, size_t *size)