-
Notifications
You must be signed in to change notification settings - Fork 565
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#5130: improve glibc import checks and make them optional (#5280)
This addresses issue #5130 in the following ways: - Improve the glibc import checking code by using a regex to match all imports, and then for each import extract the version and use CMake's version comparison functionality to match the version. This allows us to write the desired glibc version as a string such as "2.4", instead of having to write a regular expression that matches everything greater than 2.4 or in general the desired version. - Introduce a BUILD_PACKAGE option that is OFF by default, but can be turned on when invoking cmake as follows: `cmake -DBUILD_PACKAGE=ON ..`. This is important for rolling release distributions where glibc 2.32 is currently stable and these checks prevent drrun from building. By defaulting to OFF, building from source will provide a nice out-of-the-box experience on such distributions. - When packaging up DynamoRIO, BUILD_PACKAGE is set to ON in make/package.cmake. This way we ensure that the glibc checks are performed against the distributable version, such that it works on all supported Linux distributions, i.e. those that have not yet reached EOL. - Bump the glibc version to 2.17. After checking multiple distributions with long support times (typically Debian and CentOS, and Ubuntu LTS being a close one), The oldest versions that are still supported as of writing are Debian Stretch, CentOS 7, RHEL 7, and Ubuntu 16.04 LTS (Xenial). These ship glibc 2.24, glibc 2.17 glibc 2.17 and glibc 2.23 respectively. According to the release page of glibc the release date of glibc 2.17 is 2012-12-25. - The AArch64 version was 2.17, while non-AArch64 was 2.4. We no longer make a distinction between architectures when selecting the minimum supported glibc version, as all non-rolling release distributions use the same glibc for a given version regardless of the architecture. - This change is also described in the changelog for the upcoming DynamoRIO release. Co-authored-by: Derek Bruening <[email protected]>
- Loading branch information
1 parent
247e98c
commit 1dec190
Showing
6 changed files
with
46 additions
and
16 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
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