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.25-169-gfce3da8


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  fce3da82e56a66bdafcef437abef0fa7b82b8d2b (commit)
      from  83f0ad2bc63f26dab10f47c8741245d93eb4077a (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=fce3da82e56a66bdafcef437abef0fa7b82b8d2b

commit fce3da82e56a66bdafcef437abef0fa7b82b8d2b
Author: Stefan Liebler <stli@linux.vnet.ibm.com>
Date:   Tue Apr 4 13:16:28 2017 +0200

    S390: Clobber also r14 in TLS_LD, TLS_GD macros on 31bit.
    
    This patch also clobbers r14 in TLS_LD, TLS_GD macros on 31bit.
    This ensures that r14 isn't used to save and restore r12 while
    r14 is clobbered by the bas-instruction.
    
    As note:
    r12 can't be added to clobber list as gcc would fail with:
    error: PIC register clobbered by â??12â?? in â??asmâ??
    
    For 64bit this fix was already done in 2004 in the
    commit b80af23ac6973e69df6cd23d221fa44fffb21e17.
    
    ChangeLog:
    
    	* sysdeps/s390/s390-32/tls-macros.h (TLS_LD, TLS_GD):
    	Clobber also r14.

diff --git a/ChangeLog b/ChangeLog
index 940bcbf..74f56c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-04-04  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+	* sysdeps/s390/s390-32/tls-macros.h (TLS_LD, TLS_GD):
+	Clobber also r14.
+
 2017-04-03  Mike Frysinger  <vapier@gentoo.org>
 
 	[BZ #21253]
diff --git a/sysdeps/s390/s390-32/tls-macros.h b/sysdeps/s390/s390-32/tls-macros.h
index 09b42aa..a4c5fff 100644
--- a/sysdeps/s390/s390-32/tls-macros.h
+++ b/sysdeps/s390/s390-32/tls-macros.h
@@ -47,7 +47,7 @@
 	      "alr %0,%%r2\n\t"						      \
 	      "lr %%r12,%1"						      \
 	      : "=&a" (__offset), "=&a" (__save12)			      \
-	      : : "cc", "0", "1", "2", "3", "4", "5" );			      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "14");		      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #else
 # define TLS_LD(x) \
@@ -63,7 +63,8 @@
 	      "bas %%r14,0(%%r1):tls_ldcall:" #x "\n\t"			      \
 	      "l %0,12(%0)\n\t"						      \
 	      "alr %0,%%r2"						      \
-	      : "=&a" (__offset) : : "cc", "0", "1", "2", "3", "4", "5", "12" ); \
+	      : "=&a" (__offset)					      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "12", "14");	      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #endif
 
@@ -83,7 +84,7 @@
 	      "lr %0,%%r2\n\t"						      \
 	      "lr %%r12,%1"						      \
 	      : "=&a" (__offset), "=&a" (__save12)			      \
-	      : : "cc", "0", "1", "2", "3", "4", "5" );			      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "14");		      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #else
 # define TLS_GD(x) \
@@ -97,6 +98,7 @@
 	      "l %%r2,8(%0)\n\t"					      \
 	      "bas %%r14,0(%%r1):tls_gdcall:" #x "\n\t"			      \
 	      "lr %0,%%r2"						      \
-	      : "=&a" (__offset) : : "cc", "0", "1", "2", "3", "4", "5", "12" ); \
+	      : "=&a" (__offset)					      \
+	      : : "cc", "0", "1", "2", "3", "4", "5", "12", "14");	      \
      (int *) (__builtin_thread_pointer() + __offset); })
 #endif

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

Summary of changes:
 ChangeLog                         |    5 +++++
 sysdeps/s390/s390-32/tls-macros.h |   10 ++++++----
 2 files changed, 11 insertions(+), 4 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]