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 <jsl...@suse.cz>
Cc: Thomas Gleixner <t...@linutronix.de>
Cc: Ingo Molnar <mi...@redhat.com>
Cc: "H. Peter Anvin" <h...@zytor.com>
Cc: x...@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

Reply via email to