[PATCH v4 27/27] x86: assembly, replace WEAK uses

Jiri Slaby
2017-10-02T09:14:00Z

Use the new SYM_CODE_INNER_LABEL_NOALIGN for WEAK entries in the middle
of x86 assembly functions.

And make sure WEAK is not defined for x86 anymore as these were the last
users.

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 | 2 +-
include/linux/linkage.h | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/ftrace_32.S b/arch/x86/kernel/ftrace_32.S
index efe209b292f8..0001d5b847d5 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_CODE_INNER_LABEL_NOALIGN(ftrace_stub, SYM_V_WEAK)
ret
SYM_CODE_END(ftrace_caller)

diff --git a/arch/x86/kernel/ftrace_64.S b/arch/x86/kernel/ftrace_64.S
index 3e20eb31cca6..2172263df27a 100644
--- a/arch/x86/kernel/ftrace_64.S
+++ b/arch/x86/kernel/ftrace_64.S
@@ -181,7 +181,7 @@ SYM_CODE_INNER_LABEL_NOALIGN(ftrace_graph_call, SYM_V_GLOBAL)
#endif

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

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 1a51d2a61495..9a16a82bafda 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -155,7 +155,7 @@ SYM_CODE_START(startup_32)
jmp *%eax

.Lbad_subarch:
-WEAK(xen_entry)
+SYM_CODE_INNER_LABEL_NOALIGN(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 a88f332136b4..79e4f8240a3a 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -113,13 +113,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_NOALIGN(name)
#endif

-#ifndef CONFIG_X86
#ifndef END
/* deprecated, use SYM_FUNC_END, SYM_DATA_END, or SYM_END */
#define END(name) \
--
2.14.2