-
Notifications
You must be signed in to change notification settings - Fork 571
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#6611: Fix pthread lock hang (#6626)
Fixes a hang on glibc 2.37 by initializing the tid pthread TLS field. Its offset is located by decoding an exported function known to reference it in a new routine privload_set_pthread_tls_fields(). Only x86 is supported with this fix as no aarch64 machine with the required glibc is available for developing and testing the decode fix. A debug-build warning is printed for glibc 3.37+ on non-x86. Tested on a glibc 2.37 machine where without this fix the client.drcallstack test hangs in release build. Also tested on a Dr. Memory 2.6.19737 build pointing at a release build DR with this fix and confirmed it fixes the hang there. Fixes #6611
- Loading branch information
1 parent
984e335
commit 7e3fb44
Showing
2 changed files
with
115 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters