diff options
author | Felix Fietkau <nbd@nbd.name> | 2020-05-12 15:23:01 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2020-06-04 21:52:57 +0200 |
commit | 2dd26fda16a4574c91d02f4b1ccb2ce121e764c8 (patch) | |
tree | 7f5d777032c81d484db0431cb7da9f6738249d5d | |
parent | 5aa2ddd0d6b9759c62bbb7bb11b72a7f4269c16b (diff) | |
download | upstream-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>
-rw-r--r-- | package/devel/perf/Makefile | 3 | ||||
-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 |
2 files changed, 51 insertions, 3 deletions
diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile index aa478a0431..3bb403916b 100644 --- a/package/devel/perf/Makefile +++ b/package/devel/perf/Makefile @@ -36,6 +36,8 @@ define Package/perf/description perf is the Linux performance monitoring tool endef +HOST_CFLAGS += -I$(LINUX_DIR)/tools/include + MAKE_FLAGS = \ ARCH="$(LINUX_KARCH)" \ NO_LIBPERL=1 \ @@ -54,6 +56,7 @@ MAKE_FLAGS = \ LD="$(TARGET_CROSS)ld" \ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ + KBUILD_HOSTCFLAGS="$(HOST_CFLAGS)" \ $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') \ WERROR=0 \ O=$(PKG_BUILD_DIR) \ 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) |