summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehan Webster <behanw@converseincode.com>2014-09-24 01:06:46 +0100
committerSeung-Woo Kim <sw0312.kim@samsung.com>2017-01-19 12:27:17 +0900
commit6a979e7a67f48e31e1dc8f6236d5c3180c8bcd54 (patch)
treedf4f78b3775cd80dff5b78698238aae081cbd79a
parent138bf1c8e4987847509f496b0c63fa4d8c1d0cc3 (diff)
downloadkernel-common-6a979e7a67f48e31e1dc8f6236d5c3180c8bcd54.tar.gz
kernel-common-6a979e7a67f48e31e1dc8f6236d5c3180c8bcd54.tar.bz2
kernel-common-6a979e7a67f48e31e1dc8f6236d5c3180c8bcd54.zip
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> Change-Id: Ia248e544cb8585fa7bfab5df3b4f3fca3089ab0c
-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 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);
#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 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"
#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);