diff options
authorBehan Webster <>2014-09-24 01:06:46 +0100
committerMax Krummenacher <>2015-12-02 18:12:45 +0100
commita3c9fcd326bd216c152189b25bd836a68e54d7f9 (patch)
parente1c5830c4521c1dc869eba77eb66255f11f150dc (diff)
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 <> (cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d) Signed-off-by: Max Krummenacher <>
2 files changed, 1 insertions, 6 deletions
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index f89515adac60..2bb8cac28b9e 100644
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
-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 fafedd86885d..f6aa84d5b93c 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"
-void *return_address(unsigned int level)
- return NULL;
#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */