aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBehan Webster <behanw@converseincode.com>2014-09-23 20:06:46 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-09-26 09:40:03 -0400
commitaeea3592a13bf12861943e44fc48f1f270941f8d (patch)
tree4c19906d8f762a9cddc438ff0042087402338ff7
parent389522b0c0530658eb9f9a53410ec2494616d785 (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 <behanw@converseincode.com> Reviewed-by: Mark Charlebois <charlebm@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/include/asm/ftrace.h2
-rw-r--r--arch/arm/kernel/return_address.c5
2 files changed, 1 insertions, 6 deletions
diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h
index 39eb16b0066f..bfe2a2f5a644 100644
--- a/arch/arm/include/asm/ftrace.h
+++ b/arch/arm/include/asm/ftrace.h
@@ -45,7 +45,7 @@ void *return_address(unsigned int);
45 45
46#else 46#else
47 47
48extern inline void *return_address(unsigned int level) 48static inline void *return_address(unsigned int level)
49{ 49{
50 return NULL; 50 return NULL;
51} 51}
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)
63#warning "TODO: return_address should use unwind tables" 63#warning "TODO: return_address should use unwind tables"
64#endif 64#endif
65 65
66void *return_address(unsigned int level)
67{
68 return NULL;
69}
70
71#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */ 66#endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */
72 67
73EXPORT_SYMBOL_GPL(return_address); 68EXPORT_SYMBOL_GPL(return_address);