Created
December 14, 2018 07:08
-
-
Save nathanchance/6fc0e3f23ac86f2c88c6671cc9ee830d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 8c16eb5d852c426449c35f5c638fa0241de59900 Mon Sep 17 00:00:00 2001 | |
From: Nathan Chancellor <[email protected]> | |
Date: Mon, 10 Dec 2018 17:59:43 -0700 | |
Subject: [PATCH 1/4] DO-NOT-UPSTREAM: arm: Don't select HAVE_FUNCTION_TRACER | |
with Clang | |
Link: https://github.com/ClangBuiltLinux/linux/issues/35 | |
Signed-off-by: Nathan Chancellor <[email protected]> | |
--- | |
arch/arm/Kconfig | 2 +- | |
1 file changed, 1 insertion(+), 1 deletion(-) | |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig | |
index 0839905593a8..bc614b715361 100644 | |
--- a/arch/arm/Kconfig | |
+++ b/arch/arm/Kconfig | |
@@ -71,7 +71,7 @@ config ARM | |
select HAVE_EXIT_THREAD | |
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL | |
select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL | |
- select HAVE_FUNCTION_TRACER if !XIP_KERNEL | |
+ select HAVE_FUNCTION_TRACER if !XIP_KERNEL && !CC_IS_CLANG | |
select HAVE_GCC_PLUGINS | |
select HAVE_GENERIC_DMA_COHERENT | |
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7) | |
-- | |
2.20.0 | |
From 72ce7b51e427cf3e910eaf8bee2d10dc9670c22b Mon Sep 17 00:00:00 2001 | |
From: Nathan Chancellor <[email protected]> | |
Date: Mon, 10 Dec 2018 18:16:25 -0700 | |
Subject: [PATCH 2/4] DO-NOT-UPSTREAM: arm hax for neon | |
Link: https://github.com/ClangBuiltLinux/linux/issues/287 | |
Signed-off-by: Nathan Chancellor <[email protected]> | |
--- | |
arch/arm/lib/xor-neon.c | 4 ---- | |
lib/raid6/neon.uc | 3 +++ | |
lib/raid6/recov_neon_inner.c | 3 +++ | |
3 files changed, 6 insertions(+), 4 deletions(-) | |
diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c | |
index 2c40aeab3eaa..9e0a03f308b4 100644 | |
--- a/arch/arm/lib/xor-neon.c | |
+++ b/arch/arm/lib/xor-neon.c | |
@@ -13,10 +13,6 @@ | |
MODULE_LICENSE("GPL"); | |
-#ifndef __ARM_NEON__ | |
-#error You should compile this file with '-mfloat-abi=softfp -mfpu=neon' | |
-#endif | |
- | |
/* | |
* Pull in the reference implementations while instructing GCC (through | |
* -ftree-vectorize) to attempt to exploit implicit parallelism and emit | |
diff --git a/lib/raid6/neon.uc b/lib/raid6/neon.uc | |
index d5242f544551..caa0b56923f9 100644 | |
--- a/lib/raid6/neon.uc | |
+++ b/lib/raid6/neon.uc | |
@@ -24,6 +24,9 @@ | |
* This file is postprocessed using unroll.awk | |
*/ | |
+#ifdef CONFIG_ARM | |
+#define __ARM_NEON 1 | |
+#endif | |
#include <arm_neon.h> | |
typedef uint8x16_t unative_t; | |
diff --git a/lib/raid6/recov_neon_inner.c b/lib/raid6/recov_neon_inner.c | |
index 8cd20c9f834a..b733d1e68a61 100644 | |
--- a/lib/raid6/recov_neon_inner.c | |
+++ b/lib/raid6/recov_neon_inner.c | |
@@ -8,6 +8,9 @@ | |
* of the License. | |
*/ | |
+#ifdef CONFIG_ARM | |
+#define __ARM_NEON 1 | |
+#endif | |
#include <arm_neon.h> | |
static const uint8x16_t x0f = { | |
-- | |
2.20.0 | |
From 751e5656d0e41e584b3e2c2aa0d63a2ea4ae4cd3 Mon Sep 17 00:00:00 2001 | |
From: Nathan Chancellor <[email protected]> | |
Date: Fri, 30 Nov 2018 22:31:38 -0700 | |
Subject: [PATCH 3/4] ARM: Remove '-p' from LDFLAGS | |
This option is not supported by lld: | |
ld.lld: error: unknown argument: -p | |
This has been a no-op in binutils since 2004 (see commit dea514f51da1 in | |
that tree). Given that the lowest officially supported of binutils for | |
the kernel is 2.20, which was released in 2009, nobody needs this flag | |
around so just remove it. Commit 1a381d4a0a9a ("arm64: remove no-op -p | |
linker flag") did the same for arm64. | |
Signed-off-by: Nathan Chancellor <[email protected]> | |
--- | |
arch/arm/Makefile | 2 +- | |
arch/arm/boot/compressed/Makefile | 2 -- | |
2 files changed, 1 insertion(+), 3 deletions(-) | |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile | |
index 0436002d5091..1d48c8ed5f89 100644 | |
--- a/arch/arm/Makefile | |
+++ b/arch/arm/Makefile | |
@@ -10,7 +10,7 @@ | |
# | |
# Copyright (C) 1995-2001 by Russell King | |
-LDFLAGS_vmlinux :=-p --no-undefined -X --pic-veneer | |
+LDFLAGS_vmlinux := --no-undefined -X --pic-veneer | |
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) | |
LDFLAGS_vmlinux += --be8 | |
KBUILD_LDFLAGS_MODULE += --be8 | |
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile | |
index 01bf2585a0fa..ecfa4ca320a7 100644 | |
--- a/arch/arm/boot/compressed/Makefile | |
+++ b/arch/arm/boot/compressed/Makefile | |
@@ -132,8 +132,6 @@ endif | |
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) | |
LDFLAGS_vmlinux += --be8 | |
endif | |
-# ? | |
-LDFLAGS_vmlinux += -p | |
# Report unresolved symbol references | |
LDFLAGS_vmlinux += --no-undefined | |
# Delete all temporary local symbols | |
-- | |
2.20.0 | |
From 51f52bdf293273f1c4eb6c11fe16040c86430d49 Mon Sep 17 00:00:00 2001 | |
From: Nathan Chancellor <[email protected]> | |
Date: Tue, 4 Dec 2018 18:42:13 -0700 | |
Subject: [PATCH 4/4] ARM: Wrap '--pic-veneer' with ld-option | |
This flag is not supported by lld: | |
ld.lld: error: unknown argument: --pic-veneer | |
Signed-off-by: Nathan Chancellor <[email protected]> | |
--- | |
arch/arm/Makefile | 2 +- | |
1 file changed, 1 insertion(+), 1 deletion(-) | |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile | |
index 1d48c8ed5f89..f22f46183cd1 100644 | |
--- a/arch/arm/Makefile | |
+++ b/arch/arm/Makefile | |
@@ -10,7 +10,7 @@ | |
# | |
# Copyright (C) 1995-2001 by Russell King | |
-LDFLAGS_vmlinux := --no-undefined -X --pic-veneer | |
+LDFLAGS_vmlinux := --no-undefined -X $(call ld-option,--pic-veneer) | |
ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) | |
LDFLAGS_vmlinux += --be8 | |
KBUILD_LDFLAGS_MODULE += --be8 | |
-- | |
2.20.0 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment