[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r4886 - in glibc-package/trunk/debian: . patches patches/s390



Author: aurel32
Date: 2011-08-16 16:03:56 +0000 (Tue, 16 Aug 2011)
New Revision: 4886

Added:
   glibc-package/trunk/debian/patches/s390/cvs-vsyscalls.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * Add patches/s390/cvs-vsyscalls.diff from upstream to fix wrong register
    usage in the INTERNAL_VSYSCALL_NCS macro.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2011-08-16 15:55:56 UTC (rev 4885)
+++ glibc-package/trunk/debian/changelog	2011-08-16 16:03:56 UTC (rev 4886)
@@ -14,6 +14,8 @@
     rlimits on sparc.  Closes: #637767.
   * Add patches/amd64/cvs-pthread-stack-alignment.diff from upstream to fix
     stack alignment issues on amd64.
+  * Add patches/s390/cvs-vsyscalls.diff from upstream to fix wrong register
+    usage in the INTERNAL_VSYSCALL_NCS macro.
 
  -- Aurelien Jarno <aurel32@debian.org>  Tue, 09 Aug 2011 11:40:02 +0200
 

Added: glibc-package/trunk/debian/patches/s390/cvs-vsyscalls.diff
===================================================================
--- glibc-package/trunk/debian/patches/s390/cvs-vsyscalls.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/s390/cvs-vsyscalls.diff	2011-08-16 16:03:56 UTC (rev 4886)
@@ -0,0 +1,49 @@
+2011-07-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
+	(INTERNAL_VSYSCALL_NCS): Use r10 for backing up the return address
+	register in order to avoid conflicts with the soft frame pointer
+	being held in r11 when necessary.
+	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
+	(INTERNAL_VSYSCALL_NCS): Likewise.
+
+diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
+index 5bfdc44..13ce9ab 100644
+--- a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
++++ b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
+@@ -368,12 +368,12 @@
+     DECLARGS_##nr(args)							      \
+     register long _ret asm("2");						      \
+     asm volatile (							      \
+-    "lr 11,14\n\t"							      \
++    "lr 10,14\n\t"                                                           \
+     "basr 14,%1\n\t"							      \
+-    "lr 14,11\n\t"							      \
++    "lr 14,10\n\t"                                                           \
+     : "=d" (_ret)							      \
+     : "d" (fn) ASMFMT_##nr						      \
+-    : "cc", "memory", "0", "1", "11" CLOBBER_##nr);			      \
++    : "cc", "memory", "0", "1", "10" CLOBBER_##nr);                          \
+     _ret; })
+ 
+ /* Pointer mangling support.  */
+diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
+index 6491a3b..4d45417 100644
+--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
++++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
+@@ -370,12 +370,12 @@
+     DECLARGS_##nr(args)							      \
+     register long _ret asm("2");					      \
+     asm volatile (							      \
+-    "lgr 11,14\n\t"							      \
++    "lgr 10,14\n\t"                                                          \
+     "basr 14,%1\n\t"							      \
+-    "lgr 14,11\n\t"							      \
++    "lgr 14,10\n\t"                                                          \
+     : "=d" (_ret)							      \
+     : "a" (fn) ASMFMT_##nr						      \
+-    : "cc", "memory", "0", "1", "11" CLOBBER_##nr);			      \
++    : "cc", "memory", "0", "1", "10" CLOBBER_##nr);                          \
+     _ret; })
+ 
+ /* Pointer mangling support.  */

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2011-08-16 15:55:56 UTC (rev 4885)
+++ glibc-package/trunk/debian/patches/series	2011-08-16 16:03:56 UTC (rev 4886)
@@ -176,6 +176,7 @@
 
 s390/submitted-nexttowardf.diff
 s390/cvs-iconv-z9-109.diff
+s390/cvs-vsyscalls.diff
 
 sparc/local-fork.diff
 sparc/local-sparcv9-target.diff


Reply to: