Build against Y2038-compatible glibc for linux arm32#102410
Merged
sbomer merged 9 commits intodotnet:mainfrom May 22, 2024
Merged
Build against Y2038-compatible glibc for linux arm32#102410sbomer merged 9 commits intodotnet:mainfrom
sbomer merged 9 commits intodotnet:mainfrom
Conversation
Member
Author
|
/azp run runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 1 pipeline(s). |
jkotas
reviewed
May 18, 2024
jkotas
reviewed
May 18, 2024
And avoid passing values that can't be represented in 32 bits when running against openssl that expects 32-bit time_t.
Member
Author
|
/azp run runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Apparently this symbol did not exist in the builds of openssl in Ubuntu 16.04.
Except in opensslshim.c, which is only built for that feature.
jkotas
reviewed
May 22, 2024
jkotas
reviewed
May 22, 2024
Member
|
We may want to simplify runtime/src/native/libs/System.Security.Cryptography.Native/pal_x509.c Lines 1357 to 1364 in f02a695 time_t and instead add assert that will fail the build when time_t is not 64-bit. Something like this: jkotas@8657f6d
|
- Revert unintentional change
Member
Author
Apparently the tizen-armel build doesn't use 64-bit time_t. |
Member
Author
|
/azp run runtime-coreclr libraries-jitstress |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Member
|
Will you provided a detailed writeup on what we had to do? I think that will be super useful. |
steveharter
pushed a commit
to steveharter/runtime
that referenced
this pull request
May 28, 2024
This updates our linux arm32 build to build against a more recent glibc that supports _TIME_BITS (which we set to 64). Since openssl may be using either 32-bit or 64-bit time_t, this includes detection logic to determine which case we are in, and avoid passing time values that don't fit in 32 bits to openssl. The arm build image is updated to the latest version of the images added in dotnet/dotnet-buildtools-prereqs-docker#1037. The helix test images are updated to debian images added in dotnet/dotnet-buildtools-prereqs-docker#1041. Additional context: Additional context: Reintroduces the fix for Y2038 support on arm32 linux (dotnet#102059), which was reverted due to problems running against openssl built with _TIME_BITS=32. Fixes dotnet#101444 (both the originally reported issue, and the test failures mentioned in dotnet#101444 (comment)). Supports: dotnet#91826
Member
Author
Ruihan-Yin
pushed a commit
to Ruihan-Yin/runtime
that referenced
this pull request
May 30, 2024
This updates our linux arm32 build to build against a more recent glibc that supports _TIME_BITS (which we set to 64). Since openssl may be using either 32-bit or 64-bit time_t, this includes detection logic to determine which case we are in, and avoid passing time values that don't fit in 32 bits to openssl. The arm build image is updated to the latest version of the images added in dotnet/dotnet-buildtools-prereqs-docker#1037. The helix test images are updated to debian images added in dotnet/dotnet-buildtools-prereqs-docker#1041. Additional context: Additional context: Reintroduces the fix for Y2038 support on arm32 linux (dotnet#102059), which was reverted due to problems running against openssl built with _TIME_BITS=32. Fixes dotnet#101444 (both the originally reported issue, and the test failures mentioned in dotnet#101444 (comment)). Supports: dotnet#91826
This file contains hidden or 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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reintroduces the fix for Y2038 support on arm32 linux (#102059), which was reverted due to problems running against openssl built with _TIME_BITS=32. Thanks to @davidwrighton for help diagnosing the issue.
Fixes #101444 (both the originally reported issue, and the test failures mentioned in #101444 (comment)).
Supports: #91826