Bug 1468807
| Summary: | glibc: Support broken applications which call __tls_get_addr with an unaligned stack (GCC bug workaround) | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Florian Weimer <fweimer> |
| Component: | glibc | Assignee: | Florian Weimer <fweimer> |
| Status: | CLOSED ERRATA | QA Contact: | Sergey Kolosov <skolosov> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.4 | CC: | ashankar, codonell, fweimer, mnewsome, pfrankli, skolosov |
| Target Milestone: | rc | Keywords: | Patch |
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | glibc-2.17-210.el7 | Doc Type: | Enhancement |
| Doc Text: |
Feature: In the slow path of the implementation of __tls_get_addr function in glibc, the stack is automatically aligned as needed.
Reason: A bug in the GCC compiler for the x86-64 architecture could sometimes result in a call to the __tls_get_addr function with a misaligned stack, violating ABI requirements. This could result in crashes during TLS access, particularly if an interposed custom malloc is used.
Result: Binaries compiled with GCC which suffer from this ABI compliance issue work as expected, even with an interposed custom malloc.
|
Story Points: | --- |
| Clone Of: | 1440287 | Environment: | |
| Last Closed: | 2018-04-10 14:00:52 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1440287 | ||
| Bug Blocks: | 1473718 | ||
|
Description
Florian Weimer
2017-07-08 08:10:42 UTC
Final upstream commit:
commit 031e519c95c069abe4e4c7c59e2b4b67efccdee5
Author: H.J. Lu <hjl.tools>
Date: Thu Jul 6 04:43:06 2017 -0700
x86-64: Align the stack in __tls_get_addr [BZ #21609]
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2018:0805 |