This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/16214] New: Some TLS test cases fail on s390x with -march=z10
- From: "siddhesh at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 25 Nov 2013 04:10:42 +0000
- Subject: [Bug libc/16214] New: Some TLS test cases fail on s390x with -march=z10
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=16214
Bug ID: 16214
Summary: Some TLS test cases fail on s390x with -march=z10
Product: glibc
Version: 2.18
Status: NEW
Severity: normal
Priority: P2
Component: libc
Assignee: siddhesh at redhat dot com
Reporter: siddhesh at redhat dot com
CC: drepper.fsp at gmail dot com
-march=z10 eliminates GOT pointer loads for static variables whenever it can,
which exposes a bug in the TLS implementation in s390x. The TLS implementation
assumes that the compiler will load the GOT pointer (%r12) and implements
__tls_get_offset with that assumption. This however is true only in cases
where the compiler sets up TLS for a __thread. For cases where we call
TLS_GET_ADDR directly (like in dl-sym.c and in some test cases), we have to
explicitly ensure that %r12 is set up.
How Reproducible:
Always
Steps to Reproduce:
1. Compile glibc --with-cpu=z10 with gcc built for --with-cpu=z10.
2. Run TLS test cases with `make subdirs=elf check`
Patch coming up.
--
You are receiving this mail because:
You are on the CC list for the bug.