This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.17-159-gbc101e2


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  bc101e2652728d8a6e8ece7c637e095618546a95 (commit)
      from  5655a0b58e1ba27b05c94c684c74b7078cb814d5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=bc101e2652728d8a6e8ece7c637e095618546a95

commit bc101e2652728d8a6e8ece7c637e095618546a95
Author: Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Date:   Wed Jan 23 10:00:24 2013 +0100

    S/390: Fix setjmp/longjmp FPR save/restore

diff --git a/sysdeps/s390/bits/setjmp.h b/sysdeps/s390/bits/setjmp.h
index 285003f..e929c161 100644
--- a/sysdeps/s390/bits/setjmp.h
+++ b/sysdeps/s390/bits/setjmp.h
@@ -34,7 +34,7 @@ typedef struct __s390_jmp_buf
   long int __gregs[10];
 
 # if __WORDSIZE == 64
-  /* We save fpu registers 1, 3, 5 and 7.  */
+  /* We save fpu registers f8 - f15.  */
   long __fpregs[8];
 # else
   /* We save fpu registers 4 and 6.  */
diff --git a/sysdeps/s390/s390-64/__longjmp.c b/sysdeps/s390/s390-64/__longjmp.c
index 510b1c2..2682406 100644
--- a/sysdeps/s390/s390-64/__longjmp.c
+++ b/sysdeps/s390/s390-64/__longjmp.c
@@ -42,10 +42,14 @@ __longjmp (__jmp_buf env, int val)
   register void *r1 __asm ("%r1") = (void *) env;
 #endif
   /* Restore registers and jump back.  */
-  asm volatile ("ld   %%f7,104(%1)\n\t"
-		"ld   %%f5,96(%1)\n\t"
-		"ld   %%f3,88(%1)\n\t"
-		"ld   %%f1,80(%1)\n\t"
+  asm volatile ("ld    %%f8,80(%1)\n\t"
+		"ld    %%f9,88(%1)\n\t"
+		"ld    %%f10,96(%1)\n\t"
+		"ld    %%f11,104(%1)\n\t"
+		"ld    %%f12,112(%1)\n\t"
+		"ld    %%f13,120(%1)\n\t"
+		"ld    %%f14,128(%1)\n\t"
+		"ld    %%f15,136(%1)\n\t"
 #ifdef PTR_DEMANGLE
 		"lmg  %%r6,%%r13,0(%1)\n\t"
 		"lmg  %%r4,%%r5,64(%1)\n\t"
diff --git a/sysdeps/s390/s390-64/setjmp.S b/sysdeps/s390/s390-64/setjmp.S
index b12d905..6269dbf 100644
--- a/sysdeps/s390/s390-64/setjmp.S
+++ b/sysdeps/s390/s390-64/setjmp.S
@@ -55,10 +55,14 @@ ENTRY(__sigsetjmp)
 #else
         stmg   %r6,%r15,0(%r2)      /* Store registers in jmp_buf.  */
 #endif
-	std    %f1,80(%r2)
-	std    %f3,88(%r2)
-	std    %f5,96(%r2)
-	std    %f7,104(%r2)
+	std    %f8,80(%r2)
+	std    %f9,88(%r2)
+	std    %f10,96(%r2)
+	std    %f11,104(%r2)
+	std    %f12,112(%r2)
+	std    %f13,120(%r2)
+	std    %f14,128(%r2)
+	std    %f15,136(%r2)
 #if defined NOT_IN_libc && defined IS_IN_rtld
 	/* In ld.so we never save the signal mask.  */
 	lghi   %r2,0

-----------------------------------------------------------------------

Summary of changes:
 sysdeps/s390/bits/setjmp.h       |    2 +-
 sysdeps/s390/s390-64/__longjmp.c |   12 ++++++++----
 sysdeps/s390/s390-64/setjmp.S    |   12 ++++++++----
 3 files changed, 17 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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