mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH V2] arm: LLVMLinux: use static inline in ARM ftrace.h
@ 2013-09-06  1:25 behanw
  0 siblings, 0 replies; 2+ messages in thread
From: behanw @ 2013-09-06  1:25 UTC (permalink / raw)
  To: rostedt, fweisbec, mingo, linux
  Cc: behanw, keun-o.park, charlebm, dave.martin, linux-arm-kernel,
	linux-kernel

From: Behan Webster <behanw@converseincode.com>

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>
---
 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 f89515a..2bb8cac 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);
-- 
1.8.1.2


^ permalink raw reply	[flat|nested] 2+ messages in thread
* Re: [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
@ 2014-03-11 12:31 Steven Rostedt
  2014-03-24  5:58 ` [PATCH v2] " behanw
  0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2014-03-11 12:31 UTC (permalink / raw)
  To: Behan Webster
  Cc: fweisbec, mingo, linux, kpark3469, keun-o.park, dave.martin,
	linux-arm-kernel, linux-kernel

On Tue, 11 Mar 2014 00:01:44 -0700
Behan Webster <behanw@converseincode.com> wrote:

> On 02/20/14 18:22, behanw@converseincode.com wrote:
> > From: Behan Webster <behanw@converseincode.com>
> >
> > 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.
> Any input? Is it good as it is?

I'm fine with it. But you need approval from the arm folks. I know
there was some issues with the return_address() code in the past. But
from the ftrace perspective:

Acked-by: Steven Rostedt <rostedt@goodmis.org>

-- Steve

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-03-24  5:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-06  1:25 [PATCH V2] arm: LLVMLinux: use static inline in ARM ftrace.h behanw
2014-03-11 12:31 [PATCH] " Steven Rostedt
2014-03-24  5:58 ` [PATCH v2] " behanw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®