Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

CRuntime_Musl: Support v1.2.0 for 32 bits #3275

Merged
merged 1 commit into from
Nov 17, 2020
Merged

Conversation

Geod24
Copy link
Member

@Geod24 Geod24 commented Nov 16, 2020

As explained in the comment, time_t on Musl is now always 64 bits,
but used to be 32 bits on 32 bits systems.

CC @Cogitri

@dlang-bot
Copy link
Contributor

Thanks for your pull request, @Geod24!

Bugzilla references

Your PR doesn't reference any Bugzilla issue.

If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog.

Testing this PR locally

If you don't have a local development environment setup, you can use Digger to test this PR:

dub run digger -- build "stable + druntime#3275"

@thewilsonator
Copy link
Contributor

Issue number? (or changelog entry?)

@Geod24
Copy link
Member Author

Geod24 commented Nov 17, 2020

Good point, added release notes

Copy link
Member

@PetarKirov PetarKirov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, feel free to merge when the CI is green.

As explained in the comment, `time_t` on Musl is now always 64 bits,
but used to be 32 bits on 32 bits systems.
@dlang-bot dlang-bot merged commit ca0b670 into dlang:stable Nov 17, 2020
@Geod24 Geod24 deleted the musl-timet branch November 17, 2020 13:32
@n8sh
Copy link
Member

n8sh commented Nov 24, 2020

This change should only affect packagers for Musl-based systems who support 32 bits architectures (64 bits architectures already use 64 bits time_t), who now need to define CRuntime_Musl_Pre_Time64 both when building druntime / Phobos and in the default configuration, if the linked Musl is < 1.2.0.

In my opinion, changes like this should target master instead of stable going forward.

@Geod24
Copy link
Member Author

Geod24 commented Nov 24, 2020

The issue I was faced with was released 9 months ago, and the only user of Musl I know of is Alpine Linux, which updated to it 5 months ago. It's not great to change the default in stable, I agree, but we needed to fix this to avoid random memory corruption,, and adding a switch and reverting it the next minor release didn't seem like a great option either.

Geod24 added a commit to Geod24/druntime that referenced this pull request Dec 14, 2020
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.
Geod24 added a commit to Geod24/druntime that referenced this pull request Dec 14, 2020
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.
Geod24 added a commit to Geod24/druntime that referenced this pull request Dec 14, 2020
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.
Geod24 added a commit to Geod24/druntime that referenced this pull request Feb 25, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.
Geod24 added a commit to Geod24/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
Geod24 added a commit to Geod24/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
Geod24 added a commit to Geod24/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
Geod24 added a commit to Geod24/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
omerfirmak added a commit to omerfirmak/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
omerfirmak added a commit to omerfirmak/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
omerfirmak added a commit to omerfirmak/druntime that referenced this pull request Feb 26, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
omerfirmak added a commit to omerfirmak/druntime that referenced this pull request Mar 2, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
omerfirmak added a commit to omerfirmak/druntime that referenced this pull request Mar 2, 2021
The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
omerfirmak added a commit to omerfirmak/druntime that referenced this pull request Mar 2, 2021
As explained in the comment, `time_t` on Musl is now always 64 bits,
but used to be 32 bits on 32 bits systems.

CRuntime_Musl: More fixes for time64

The original PR (dlang#3275) missed quite a few spots and conversions,
which led to the build on Alpine Linux failing with Aithmetic Exception
on core.time module constructor.
Links to the two offending commits are included.
For further issues / investigation, search for 'time64' in the git repository.

Co-Authored-By: Ömer Faruk IRMAK <omerfirmak@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants