-
Notifications
You must be signed in to change notification settings - Fork 573
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#5437,i#5431 glibc2.34-35: Workarounds for SIGFPE and rseq (#5695)
Adds a workaround for the SIGFPE in glibc 2.34+ __libc_early_init() by setting two ld.so globals located via hardcoded offsets, making this fragile and considered temporary. (Improvements might include decoding __libc_early_init or other functions to find the offsets, which is also fragile; making runtime options to set them for a non-rebuild fix; disabling the call to __libc_early_init which doesn't seem to be needed for 2.34). Tested on glibc 2.34 where every libc-using client crashes with SIGFPE but they work with this fix. Adds an Ubuntu22 GA CI run but it has many failures due to the rseq issue #5431. Adds a workaround for this by having drrun set -disable_rseq if it detects glibc 2.35+. Even with this we have a number of test failures so for now we use a label to just run 4 sanity-check tests. This should be enough to detect glibc changes that break the offsets here. Issue: #5437, #5431
- Loading branch information
1 parent
13ff46c
commit cacb542
Showing
5 changed files
with
178 additions
and
6 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
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
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