summaryrefslogtreecommitdiffstats
path: root/meta-smx6-extras/recipes/linux/linux-smx6/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-smx6-extras/recipes/linux/linux-smx6/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch')
-rw-r--r--meta-smx6-extras/recipes/linux/linux-smx6/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-smx6-extras/recipes/linux/linux-smx6/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/meta-smx6-extras/recipes/linux/linux-smx6/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
new file mode 100644
index 0000000..ee61a74
--- /dev/null
+++ b/meta-smx6-extras/recipes/linux/linux-smx6/0001-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch
@@ -0,0 +1,52 @@
1From ef372125fd64fc181869be4cf528488f9e8b46c2 Mon Sep 17 00:00:00 2001
2From: Behan Webster <behanw@converseincode.com>
3Date: Wed, 24 Sep 2014 01:06:46 +0100
4Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
5
6With compilers which follow the C99 standard (like modern versions of gcc and
7clang), "extern inline" does the wrong thing (emits code for an externally
8linkable version of the inline function). In this case using static inline
9and removing the NULL version of return_address in return_address.c does
10the right thing.
11
12Signed-off-by: Behan Webster <behanw@converseincode.com>
13Reviewed-by: Mark Charlebois <charlebm@gmail.com>
14Acked-by: Steven Rostedt <rostedt@goodmis.org>
15Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
16---
17 arch/arm/include/asm/ftrace.h | 2 +-
18 arch/arm/kernel/return_address.c | 5 -----
19 2 files changed, 1 insertion(+), 6 deletions(-)
20
21diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
22index f89515a..2bb8cac 100644
23--- a/arch/arm/include/asm/ftrace.h
24+++ b/arch/arm/include/asm/ftrace.h
25@@ -45,7 +45,7 @@ void *return_address(unsigned int);
26
27 #else
28
29-extern inline void *return_address(unsigned int level)
30+static inline void *return_address(unsigned int level)
31 {
32 return NULL;
33 }
34diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c
35index fafedd8..f6aa84d 100644
36--- a/arch/arm/kernel/return_address.c
37+++ b/arch/arm/kernel/return_address.c
38@@ -63,11 +63,6 @@ void *return_address(unsigned int level)
39 #warning "TODO: return_address should use unwind tables"
40 #endif
41
42-void *return_address(unsigned int level)
43-{
44- return NULL;
45-}
46-
47 #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
48
49 EXPORT_SYMBOL_GPL(return_address);
50--
511.9.1
52