From 7d96c301d6afc9f360c26b404e435e8e03c1e207 Mon Sep 17 00:00:00 2001 From: Fredrik Olofsson Date: Thu, 4 Jul 2019 13:58:15 +0200 Subject: [PATCH] kernel: cherry pick patch removing __linux__ check This is already included in newer upstream. Needed to build BPF programs using the MIPS kernel include files. Without this patch, clang fails with "#error Use a Linux compiler or give up." in sgidefs.h when building BPF programs. Signed-off-by: Fredrik Olofsson --- ...s-remove-superfluous-check-for-linux.patch | 47 +++++++++++++++++++ ...s-remove-superfluous-check-for-linux.patch | 47 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 target/linux/generic/backport-4.14/049-v4.20-mips-remove-superfluous-check-for-linux.patch create mode 100644 target/linux/generic/backport-4.19/049-v4.20-mips-remove-superfluous-check-for-linux.patch diff --git a/target/linux/generic/backport-4.14/049-v4.20-mips-remove-superfluous-check-for-linux.patch b/target/linux/generic/backport-4.14/049-v4.20-mips-remove-superfluous-check-for-linux.patch new file mode 100644 index 0000000000..4e9279a9ec --- /dev/null +++ b/target/linux/generic/backport-4.14/049-v4.20-mips-remove-superfluous-check-for-linux.patch @@ -0,0 +1,47 @@ +From 1287533d3d95d5ad8b02773733044500b1be06bc Mon Sep 17 00:00:00 2001 +From: Sean Young +Date: Fri, 16 Nov 2018 16:09:39 +0000 +Subject: MIPS: Remove superfluous check for __linux__ + +When building BPF code using "clang -target bpf -c", clang does not +define __linux__. + +To build BPF IR decoders the include linux/lirc.h is needed which +includes linux/types.h. Currently this workaround is needed: + +https://git.linuxtv.org/v4l-utils.git/commit/?id=dd3ff81f58c4e1e6f33765dc61ad33c48ae6bb07 + +This check might otherwise be useful to stop users from using a non-linux +compiler, but if you're doing that you are going to have a lot more +trouble anyway. + +Signed-off-by: Sean Young +Signed-off-by: Paul Burton +Patchwork: https://patchwork.linux-mips.org/patch/21149/ +Cc: Ralf Baechle +Cc: James Hogan +Cc: linux-mips@linux-mips.org +Cc: linux-kernel@vger.kernel.org +--- + arch/mips/include/uapi/asm/sgidefs.h | 8 -------- + 1 file changed, 8 deletions(-) + +(limited to 'arch/mips/include/uapi/asm/sgidefs.h') + +--- a/arch/mips/include/uapi/asm/sgidefs.h ++++ b/arch/mips/include/uapi/asm/sgidefs.h +@@ -12,14 +12,6 @@ + #define __ASM_SGIDEFS_H + + /* +- * Using a Linux compiler for building Linux seems logic but not to +- * everybody. +- */ +-#ifndef __linux__ +-#error Use a Linux compiler or give up. +-#endif +- +-/* + * Definitions for the ISA levels + * + * With the introduction of MIPS32 / MIPS64 instruction sets definitions diff --git a/target/linux/generic/backport-4.19/049-v4.20-mips-remove-superfluous-check-for-linux.patch b/target/linux/generic/backport-4.19/049-v4.20-mips-remove-superfluous-check-for-linux.patch new file mode 100644 index 0000000000..4e9279a9ec --- /dev/null +++ b/target/linux/generic/backport-4.19/049-v4.20-mips-remove-superfluous-check-for-linux.patch @@ -0,0 +1,47 @@ +From 1287533d3d95d5ad8b02773733044500b1be06bc Mon Sep 17 00:00:00 2001 +From: Sean Young +Date: Fri, 16 Nov 2018 16:09:39 +0000 +Subject: MIPS: Remove superfluous check for __linux__ + +When building BPF code using "clang -target bpf -c", clang does not +define __linux__. + +To build BPF IR decoders the include linux/lirc.h is needed which +includes linux/types.h. Currently this workaround is needed: + +https://git.linuxtv.org/v4l-utils.git/commit/?id=dd3ff81f58c4e1e6f33765dc61ad33c48ae6bb07 + +This check might otherwise be useful to stop users from using a non-linux +compiler, but if you're doing that you are going to have a lot more +trouble anyway. + +Signed-off-by: Sean Young +Signed-off-by: Paul Burton +Patchwork: https://patchwork.linux-mips.org/patch/21149/ +Cc: Ralf Baechle +Cc: James Hogan +Cc: linux-mips@linux-mips.org +Cc: linux-kernel@vger.kernel.org +--- + arch/mips/include/uapi/asm/sgidefs.h | 8 -------- + 1 file changed, 8 deletions(-) + +(limited to 'arch/mips/include/uapi/asm/sgidefs.h') + +--- a/arch/mips/include/uapi/asm/sgidefs.h ++++ b/arch/mips/include/uapi/asm/sgidefs.h +@@ -12,14 +12,6 @@ + #define __ASM_SGIDEFS_H + + /* +- * Using a Linux compiler for building Linux seems logic but not to +- * everybody. +- */ +-#ifndef __linux__ +-#error Use a Linux compiler or give up. +-#endif +- +-/* + * Definitions for the ISA levels + * + * With the introduction of MIPS32 / MIPS64 instruction sets definitions -- 2.25.1