Move the ftrace hotpatch trampolines to mcount.S. This allows to make
use of the standard SYM_CODE macros which again makes sure that the
hotpatch trampolines follow the function alignment rules of the rest
of the kernel.
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
        s32 disp;
 } __packed;
 
-asm(
-       "       .align 16\n"
-       "ftrace_shared_hotpatch_trampoline_br:\n"
-       "       lmg     %r0,%r1,2(%r1)\n"
-       "       br      %r1\n"
-       "ftrace_shared_hotpatch_trampoline_br_end:\n"
-);
-
-#ifdef CONFIG_EXPOLINE
-asm(
-       "       .align 16\n"
-       "ftrace_shared_hotpatch_trampoline_exrl:\n"
-       "       lmg     %r0,%r1,2(%r1)\n"
-       "       exrl    %r0,0f\n"
-       "       j       .\n"
-       "0:     br      %r1\n"
-       "ftrace_shared_hotpatch_trampoline_exrl_end:\n"
-);
-#endif /* CONFIG_EXPOLINE */
-
 #ifdef CONFIG_MODULES
 static char *ftrace_plt;
 #endif /* CONFIG_MODULES */
 
 #endif
 #endif /* CONFIG_FUNCTION_TRACER */
 
+SYM_CODE_START(ftrace_shared_hotpatch_trampoline_br)
+       lmg     %r0,%r1,2(%r1)
+       br      %r1
+SYM_INNER_LABEL(ftrace_shared_hotpatch_trampoline_br_end, SYM_L_GLOBAL)
+SYM_CODE_END(ftrace_shared_hotpatch_trampoline_br)
+
+#ifdef CONFIG_EXPOLINE
+SYM_CODE_START(ftrace_shared_hotpatch_trampoline_exrl)
+       lmg     %r0,%r1,2(%r1)
+       exrl    %r0,0f
+       j       .
+0:     br      %r1
+SYM_INNER_LABEL(ftrace_shared_hotpatch_trampoline_exrl_end, SYM_L_GLOBAL)
+SYM_CODE_END(ftrace_shared_hotpatch_trampoline_exrl)
+#endif /* CONFIG_EXPOLINE */
+
 #ifdef CONFIG_RETHOOK
 
 SYM_FUNC_START(arch_rethook_trampoline)