lkml.org 
[lkml]   [2016]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 21/64] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h
    Date
    From: Behan Webster <behanw@converseincode.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit aeea3592a13bf12861943e44fc48f1f270941f8d upstream.

    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>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    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 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);
    --
    2.7.1
    \
     
     \ /
      Last update: 2016-02-11 15:41    [W:4.123 / U:1.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site