* [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
@ 2014-02-21 2:22 behanw at converseincode.com
2014-03-11 7:01 ` Behan Webster
0 siblings, 1 reply; 5+ messages in thread
From: behanw at converseincode.com @ 2014-02-21 2:22 UTC (permalink / raw)
To: linux-arm-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>
Reviewed-by: Mark Charlebois <charlebm@gmail.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.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
2014-02-21 2:22 [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h behanw at converseincode.com
@ 2014-03-11 7:01 ` Behan Webster
2014-03-11 12:31 ` Steven Rostedt
0 siblings, 1 reply; 5+ messages in thread
From: Behan Webster @ 2014-03-11 7:01 UTC (permalink / raw)
To: linux-arm-kernel
On 02/20/14 18:22, behanw at 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?
Behan
--
Behan Webster
behanw at converseincode.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
2014-03-11 7:01 ` Behan Webster
@ 2014-03-11 12:31 ` Steven Rostedt
2014-03-24 5:58 ` [PATCH v2] " behanw at converseincode.com
0 siblings, 1 reply; 5+ messages in thread
From: Steven Rostedt @ 2014-03-11 12:31 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, 11 Mar 2014 00:01:44 -0700
Behan Webster <behanw@converseincode.com> wrote:
> On 02/20/14 18:22, behanw at 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] 5+ messages in thread
* [PATCH v2] arm: LLVMLinux: use static inline in ARM ftrace.h
2014-03-11 12:31 ` Steven Rostedt
@ 2014-03-24 5:58 ` behanw at converseincode.com
0 siblings, 0 replies; 5+ messages in thread
From: behanw at converseincode.com @ 2014-03-24 5:58 UTC (permalink / raw)
To: linux-arm-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>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
---
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.3.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h
@ 2014-07-10 5:32 behanw at converseincode.com
0 siblings, 0 replies; 5+ messages in thread
From: behanw at converseincode.com @ 2014-07-10 5:32 UTC (permalink / raw)
To: linux-arm-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>
Reviewed-by: Mark Charlebois <charlebm@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
CC: linux at 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 39eb16b..bfe2a2f 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.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-07-10 5:32 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-21 2:22 [PATCH] arm: LLVMLinux: use static inline in ARM ftrace.h behanw at converseincode.com
2014-03-11 7:01 ` Behan Webster
2014-03-11 12:31 ` Steven Rostedt
2014-03-24 5:58 ` [PATCH v2] " behanw at converseincode.com
-- strict thread matches above, loose matches on Subject: below --
2014-07-10 5:32 [PATCH] " behanw at converseincode.com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).