linux/musl: Make time_t and suseconds_t 64-bit on all musl platforms#4581
Closed
kraj wants to merge 1 commit intorust-lang:mainfrom
Closed
linux/musl: Make time_t and suseconds_t 64-bit on all musl platforms#4581kraj wants to merge 1 commit intorust-lang:mainfrom
kraj wants to merge 1 commit intorust-lang:mainfrom
Conversation
time_t and suseconds_t are defined as 64-bit quanity on musl systems regardless of 32bit or 64bit CPU word length grep "_Int64" in musl tree shows this arch/aarch64/bits/alltypes.h.in:#define _Int64 long arch/arm/bits/alltypes.h.in:#define _Int64 long long arch/i386/bits/alltypes.h.in:#define _Int64 long long arch/loongarch64/bits/alltypes.h.in:#define _Int64 long arch/m68k/bits/alltypes.h.in:#define _Int64 long long arch/microblaze/bits/alltypes.h.in:#define _Int64 long long arch/mips/bits/alltypes.h.in:#define _Int64 long long arch/mips64/bits/alltypes.h.in:#define _Int64 long arch/mipsn32/bits/alltypes.h.in:#define _Int64 long long arch/or1k/bits/alltypes.h.in:#define _Int64 long long arch/powerpc/bits/alltypes.h.in:#define _Int64 long long arch/powerpc64/bits/alltypes.h.in:#define _Int64 long arch/riscv32/bits/alltypes.h.in:#define _Int64 long long arch/riscv64/bits/alltypes.h.in:#define _Int64 long arch/s390x/bits/alltypes.h.in:#define _Int64 long arch/sh/bits/alltypes.h.in:#define _Int64 long long arch/x32/bits/alltypes.h.in:#define _Int64 long long arch/x86_64/bits/alltypes.h.in:#define _Int64 long include/alltypes.h.in:TYPEDEF _Int64 time_t; include/alltypes.h.in:TYPEDEF _Int64 suseconds_t; Signed-off-by: Khem Raj <raj.khem@gmail.com>
Contributor
|
Unfortunately this isn't just a trivial incorrect type; we also need to use the new link names when the 1.2 definitions are used. There is a work in progress at #4463. |
Contributor
Author
yeah I did realize it after some testing. We need to keep the underlying types matches with musl, so perhaps |
Contributor
|
I'm going to close this since it should be covered by #4463. |
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
time_t and suseconds_t are defined as 64-bit quanity on musl systems regardless of 32bit or 64bit CPU word length
grep "_Int64" in musl tree shows this
arch/aarch64/bits/alltypes.h.in:#define _Int64 long arch/arm/bits/alltypes.h.in:#define _Int64 long long arch/i386/bits/alltypes.h.in:#define _Int64 long long arch/loongarch64/bits/alltypes.h.in:#define _Int64 long arch/m68k/bits/alltypes.h.in:#define _Int64 long long arch/microblaze/bits/alltypes.h.in:#define _Int64 long long arch/mips/bits/alltypes.h.in:#define _Int64 long long arch/mips64/bits/alltypes.h.in:#define _Int64 long arch/mipsn32/bits/alltypes.h.in:#define _Int64 long long arch/or1k/bits/alltypes.h.in:#define _Int64 long long arch/powerpc/bits/alltypes.h.in:#define _Int64 long long arch/powerpc64/bits/alltypes.h.in:#define _Int64 long arch/riscv32/bits/alltypes.h.in:#define _Int64 long long arch/riscv64/bits/alltypes.h.in:#define _Int64 long arch/s390x/bits/alltypes.h.in:#define _Int64 long
arch/sh/bits/alltypes.h.in:#define _Int64 long long arch/x32/bits/alltypes.h.in:#define _Int64 long long arch/x86_64/bits/alltypes.h.in:#define _Int64 long include/alltypes.h.in:TYPEDEF _Int64 time_t;
include/alltypes.h.in:TYPEDEF _Int64 suseconds_t;
Description
Sources
Checklist
libc-test/semverhave been updated*LASTor*MAXareincluded (see #3131)
cd libc-test && cargo test --target mytarget);especially relevant for platforms that may not be checked in CI