This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.25-169-gfce3da8
- From: stli at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 4 Apr 2017 11:18:25 -0000
- Subject: 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