aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/mcount64.S
diff options
context:
space:
mode:
authorJan Glauber <jang@linux.vnet.ibm.com>2011-07-24 04:48:19 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-07-24 04:48:21 -0400
commit144d634a21caff1d54cb4bb0d073774e88130045 (patch)
tree9eea288248189b899ee85ba346cf344e57dd402a /arch/s390/kernel/mcount64.S
parent603d1a50acf252621a3598618b018b8123aaba64 (diff)
[S390] fix s390 assembler code alignments
The alignment is missing for various global symbols in s390 assembly code. With a recent gcc and an instruction like stgrl this can lead to a specification exception if the instruction uses such a mis-aligned address. Specify the alignment explicitely and while add it define __ALIGN for s390 and use the ENTRY define to save some lines of code. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/mcount64.S')
-rw-r--r--arch/s390/kernel/mcount64.S16
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/s390/kernel/mcount64.S b/arch/s390/kernel/mcount64.S
index e73667286ac0..f70cadec68fc 100644
--- a/arch/s390/kernel/mcount64.S
+++ b/arch/s390/kernel/mcount64.S
@@ -5,21 +5,19 @@
5 * 5 *
6 */ 6 */
7 7
8#include <linux/linkage.h>
8#include <asm/asm-offsets.h> 9#include <asm/asm-offsets.h>
9 10
10 .section .kprobes.text, "ax" 11 .section .kprobes.text, "ax"
11 12
12 .globl ftrace_stub 13ENTRY(ftrace_stub)
13ftrace_stub:
14 br %r14 14 br %r14
15 15
16 .globl _mcount 16ENTRY(_mcount)
17_mcount:
18#ifdef CONFIG_DYNAMIC_FTRACE 17#ifdef CONFIG_DYNAMIC_FTRACE
19 br %r14 18 br %r14
20 19
21 .globl ftrace_caller 20ENTRY(ftrace_caller)
22ftrace_caller:
23#endif 21#endif
24 larl %r1,function_trace_stop 22 larl %r1,function_trace_stop
25 icm %r1,0xf,0(%r1) 23 icm %r1,0xf,0(%r1)
@@ -37,8 +35,7 @@ ftrace_caller:
37#ifdef CONFIG_FUNCTION_GRAPH_TRACER 35#ifdef CONFIG_FUNCTION_GRAPH_TRACER
38 lg %r2,168(%r15) 36 lg %r2,168(%r15)
39 lg %r3,272(%r15) 37 lg %r3,272(%r15)
40 .globl ftrace_graph_caller 38ENTRY(ftrace_graph_caller)
41ftrace_graph_caller:
42# The bras instruction gets runtime patched to call prepare_ftrace_return. 39# The bras instruction gets runtime patched to call prepare_ftrace_return.
43# See ftrace_enable_ftrace_graph_caller. The patched instruction is: 40# See ftrace_enable_ftrace_graph_caller. The patched instruction is:
44# bras %r14,prepare_ftrace_return 41# bras %r14,prepare_ftrace_return
@@ -52,8 +49,7 @@ ftrace_graph_caller:
52 49
53#ifdef CONFIG_FUNCTION_GRAPH_TRACER 50#ifdef CONFIG_FUNCTION_GRAPH_TRACER
54 51
55 .globl return_to_handler 52ENTRY(return_to_handler)
56return_to_handler:
57 stmg %r2,%r5,32(%r15) 53 stmg %r2,%r5,32(%r15)
58 lgr %r1,%r15 54 lgr %r1,%r15
59 aghi %r15,-160 55 aghi %r15,-160