From 83653f804dca6e8e9606e20e708be45b8422d96c Mon Sep 17 00:00:00 2001 From: Stefan Liebler Date: Tue, 27 Jun 2017 15:23:43 +0200 Subject: S390: Save and restore r12 in TLS_IE macro. The testcases elf/tst-tls1-static and elf/tst-tls2-static are failing on s390 if gcc is configured with --enable-default-pie. According to binutils, there are only four valid cases for IE -> LE transition: lg %rx,(0,%ry) -> sllg %rx,%ry,0 lg %rx,(%ry,0) -> sllg %rx,%ry,0 lg %rx,(%ry,%r12) -> sllg %rx,%ry,0 lg %rx,(%r12,%ry) -> sllg %rx,%ry,0 Thus I've adjusted the TLS_IE macro in s390 tls-macros.h files in PIC case in order to use r12 for the address of global offset table. The adjusted macro definition is not used if gcc is not configured with --enable-default-pie. ChangeLog: * sysdeps/s390/s390-32/tls-macros.h (TLS_IE): Use r12 for GOT address. * sysdeps/s390/s390-64/tls-macros.h (TLS_IE): Likewise. --- ChangeLog | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index f885eb4..48821c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2017-06-27 Stefan Liebler + + * sysdeps/s390/s390-32/tls-macros.h (TLS_IE): Use r12 for GOT address. + * sysdeps/s390/s390-64/tls-macros.h (TLS_IE): Likewise. + 2017-06-27 Florian Weimer Work around test timeouts with ICMP rate limiting on localhost. -- cgit v1.1