aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/lib/qrnnd.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/lib/qrnnd.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/lib/qrnnd.S')
-rw-r--r--arch/s390/lib/qrnnd.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/lib/qrnnd.S b/arch/s390/lib/qrnnd.S
index eb1df632e749..d321329130ec 100644
--- a/arch/s390/lib/qrnnd.S
+++ b/arch/s390/lib/qrnnd.S
@@ -1,5 +1,7 @@
1# S/390 __udiv_qrnnd 1# S/390 __udiv_qrnnd
2 2
3#include <linux/linkage.h>
4
3# r2 : &__r 5# r2 : &__r
4# r3 : upper half of 64 bit word n 6# r3 : upper half of 64 bit word n
5# r4 : lower half of 64 bit word n 7# r4 : lower half of 64 bit word n
@@ -8,8 +10,7 @@
8# the quotient q is to be returned 10# the quotient q is to be returned
9 11
10 .text 12 .text
11 .globl __udiv_qrnnd 13ENTRY(__udiv_qrnnd)
12__udiv_qrnnd:
13 st %r2,24(%r15) # store pointer to reminder for later 14 st %r2,24(%r15) # store pointer to reminder for later
14 lr %r0,%r3 # reload n 15 lr %r0,%r3 # reload n
15 lr %r1,%r4 16 lr %r1,%r4