lkml.org 
[lkml]   [2017]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 29/29] x86: assembly, replace WEAK uses
    Date
    Use the new SYM_FUNC_INNER_LABEL for WEAK entries in the middle of x86
    assembly functions.

    And make sure WEAK is not defined for X86.

    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: x86@kernel.org
    ---
    arch/x86/kernel/ftrace_32.S | 2 +-
    arch/x86/kernel/ftrace_64.S | 2 +-
    arch/x86/kernel/head_32.S | 4 ++--
    include/linux/linkage.h | 2 +-
    4 files changed, 5 insertions(+), 5 deletions(-)

    diff --git a/arch/x86/kernel/ftrace_32.S b/arch/x86/kernel/ftrace_32.S
    index 9c3db18b2a19..8ec22538edb9 100644
    --- a/arch/x86/kernel/ftrace_32.S
    +++ b/arch/x86/kernel/ftrace_32.S
    @@ -96,7 +96,7 @@ ftrace_graph_call:
    #endif

    /* This is weak to keep gas from relaxing the jumps */
    -WEAK(ftrace_stub)
    +SYM_FUNC_INNER_LABEL(ftrace_stub, SYM_V_WEAK)
    ret
    SYM_FUNC_END(ftrace_caller)

    diff --git a/arch/x86/kernel/ftrace_64.S b/arch/x86/kernel/ftrace_64.S
    index 0970d85693c4..a6dc744d069f 100644
    --- a/arch/x86/kernel/ftrace_64.S
    +++ b/arch/x86/kernel/ftrace_64.S
    @@ -181,7 +181,7 @@ SYM_FUNC_INNER_LABEL(ftrace_graph_call, SYM_V_GLOBAL)
    #endif

    /* This is weak to keep gas from relaxing the jumps */
    -WEAK(ftrace_stub)
    +SYM_FUNC_INNER_LABEL(ftrace_stub, SYM_V_WEAK)
    retq
    SYM_FUNC_END(ftrace_caller)

    diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
    index 74d18d2fef5a..ce976f1e7a0b 100644
    --- a/arch/x86/kernel/head_32.S
    +++ b/arch/x86/kernel/head_32.S
    @@ -155,8 +155,8 @@ SYM_FUNC_START(startup_32)
    jmp *%eax

    .Lbad_subarch:
    -WEAK(lguest_entry)
    -WEAK(xen_entry)
    +SYM_FUNC_INNER_LABEL(lguest_entry, SYM_V_WEAK)
    +SYM_FUNC_INNER_LABEL(xen_entry, SYM_V_WEAK)
    /* Unknown implementation; there's really
    nothing we can do at this point. */
    ud2a
    diff --git a/include/linux/linkage.h b/include/linux/linkage.h
    index b0b6b315cd95..9f4d06f04784 100644
    --- a/include/linux/linkage.h
    +++ b/include/linux/linkage.h
    @@ -108,13 +108,13 @@
    #endif /* CONFIG_X86 */
    #endif /* LINKER_SCRIPT */

    +#ifndef CONFIG_X86
    #ifndef WEAK
    /* deprecated, use SYM_FUNC_START_WEAK */
    #define WEAK(name) \
    SYM_FUNC_START_WEAK(name)
    #endif

    -#ifndef CONFIG_X86
    #ifndef END
    /* deprecated, use SYM_FUNC_END, SYM_DATA_END, or SYM_END */
    #define END(name) \
    --
    2.12.2
    \
     
     \ /
      Last update: 2017-04-21 16:20    [W:4.734 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site