This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] S/390: Fix socket and mcount 64 bit asms


Hello,

the attached patch fixes two asm snippets in the S/390 code.  Although
in the 64 bit directory the 32 bit add instruction is used to subtract
from the stack pointer in r15.  This is wrong an leads to especially
nasty bugs whenever crossing a 4GB boundary with the stack pointer.

Please apply if you think it is ok.

Bye,

-Andreas-


2008-09-22  Deborah S. Townsend  <dstownse@us.ibm.com>

	* sysdeps/s390/s390-64/s390x-mcount.S: Replace ahi with aghi.
	* sysdeps/unix/sysv/linux/s390/s390-64/socket.S: Likewise.


Index: sysdeps/s390/s390-64/s390x-mcount.S
===================================================================
--- sysdeps/s390/s390-64/s390x-mcount.S.orig	2005-05-26 16:30:45.000000000 +0200
+++ sysdeps/s390/s390-64/s390x-mcount.S	2008-09-22 14:54:23.000000000 +0200
@@ -64,7 +64,7 @@ C_LABEL(_mcount)
 	/* Pop the saved registers.  Please note that `mcount' has no
 	   return value.  */
 	lmg   %r14,%r5,160(%r15)
-        ahi   %r15,224
+        aghi   %r15,224
         br    %r14
 	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
 
Index: sysdeps/unix/sysv/linux/s390/s390-64/socket.S
===================================================================
--- sysdeps/unix/sysv/linux/s390/s390-64/socket.S.orig	2005-12-20 07:55:02.000000000 +0100
+++ sysdeps/unix/sysv/linux/s390/s390-64/socket.S	2008-09-22 14:55:53.000000000 +0200
@@ -61,7 +61,7 @@ ENTRY(__socket)
 	cfi_offset (%r6,-112)
         lgr     %r1,%r15
         lg      %r0,8(%r15)             /* Load eos.  */
-        ahi     %r15,-208               /* Buy stack space.  */
+        aghi     %r15,-208              /* Buy stack space.  */
 	cfi_adjust_cfa_offset (208)
         stg     %r1,0(%r15)             /* Store back chain.  */
         stg     %r0,8(%r15)             /* Store eos.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]