52 lines
1.8 KiB
Diff
52 lines
1.8 KiB
Diff
From e281a7f1481d1f900ca32844f70ca3bb56351781 Mon Sep 17 00:00:00 2001
|
|
From: Behan Webster <behanw@converseincode.com>
|
|
Date: Wed, 24 Sep 2014 01:06:46 +0100
|
|
Subject: [PATCH 1/6] 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>
|
|
---
|
|
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 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 8085417555dd..57827a61f13c 100644
|
|
--- a/arch/arm/kernel/return_address.c
|
|
+++ b/arch/arm/kernel/return_address.c
|
|
@@ -62,11 +62,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);
|
|
--
|
|
2.18.0
|
|
|