diff --git a/projects/WeTek_Play/patches/linux/999.01-LLVMLinux_use_static_inline_in_ARM_ftrace.h.patch b/projects/WeTek_Play/patches/linux/999.01-LLVMLinux_use_static_inline_in_ARM_ftrace.h.patch new file mode 100644 index 0000000000..8091ff256f --- /dev/null +++ b/projects/WeTek_Play/patches/linux/999.01-LLVMLinux_use_static_inline_in_ARM_ftrace.h.patch @@ -0,0 +1,52 @@ +From aeea3592a13bf12861943e44fc48f1f270941f8d Mon Sep 17 00:00:00 2001 +From: Behan Webster +Date: Wed, 24 Sep 2014 01:06:46 +0100 +Subject: ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h + +With compilers which follow the C99 standard (like modern versions of gcc and +clang), "extern inline" does the wrong thing (emits code for an externally +linkable version of the inline function). In this case using static inline +and removing the NULL version of return_address in return_address.c does +the right thing. + +Signed-off-by: Behan Webster +Reviewed-by: Mark Charlebois +Acked-by: Steven Rostedt +Signed-off-by: Russell King +--- + arch/arm/include/asm/ftrace.h | 2 +- + arch/arm/kernel/return_address.c | 5 ----- + 2 files changed, 1 insertion(+), 6 deletions(-) + +diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h +index 39eb16b..bfe2a2f 100644 +--- a/arch/arm/include/asm/ftrace.h ++++ b/arch/arm/include/asm/ftrace.h +@@ -45,7 +45,7 @@ void *return_address(unsigned int); + + #else + +-extern inline void *return_address(unsigned int level) ++static inline void *return_address(unsigned int level) + { + return NULL; + } +diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c +index fafedd8..f6aa84d 100644 +--- a/arch/arm/kernel/return_address.c ++++ b/arch/arm/kernel/return_address.c +@@ -63,11 +63,6 @@ void *return_address(unsigned int level) + #warning "TODO: return_address should use unwind tables" + #endif + +-void *return_address(unsigned int level) +-{ +- return NULL; +-} +- + #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */ + + EXPORT_SYMBOL_GPL(return_address); +-- +cgit v0.11.2 +