[PATCH v3 29/29] x86: assembly, replace WEAK uses

From: Jiri Slaby
Date: Fri Apr 21 2017 - 10:17:09 EST


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@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
---
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