emscripten: deprecate file offset types#5142
Conversation
|
Style check fails for reasons outside the changes introduced in this PR. The formatting checks seem |
21a8c5d to
9cdfb82
Compare
This comment has been minimized.
This comment has been minimized.
9cdfb82 to
4ce5a85
Compare
This comment has been minimized.
This comment has been minimized.
|
@rustbot blocked Holding off until there is a good alternative to off64_t |
|
(https://snoozeth.is/FoBvqh9wkR8) I will wait until Wed, 19 Aug 2026 08:32:43 UTC and then add label S-waiting-on-review and remove label S-blocked. @rustbot claim. |
|
Actually I think I'm missing something - what does this PR fix? I only see it adding deprecation warnings and deleting |
|
The The PR description got updated with also mentioning that the blkcnt_t type is an exception. Its bit width does not change so that's the same as with the other file offset types. But it is always defined as a 32-bit and not as a 64-bit signed integer. And then this transitively applies to the affected records that use these types. |
4ce5a85 to
334a733
Compare
This comment has been minimized.
This comment has been minimized.
145ecb7 to
3dae619
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
3dae619 to
a2c64e9
Compare
emscripten follows musl quite closely. The changes they make are not concerned with file offset types. The only exception to this is `blkcnt_t`. This type is defined as 32-bits wide no matter the target. All other file offset types are 64-bit wide no matter the target.
a2c64e9 to
3d4a7e2
Compare
Description
This PR deprecates all LFS64 types and routines in emscripten. This target follows quite closely the musl upstream. The changes they make are not concerned with file offset types. The only exception to this is the
blkcnt_ttype. This type is always 32-bits wide no matter the target machine.All other types have received the same treatment as in #5170.
Sources
Upstream emscripten sources showing both the final
alltypes.hheader with theoff_tdefinition and the input to thesedscript that generates it.Upstream emscripten fork of musl showing what has been assumed to be the "main" definition of
off64_tand related types when both the_GNU_SOURCEand_LARGEFILE64_SOURCEfeature testmacros are present.
Checklist
libc-test/semverhave been updated*LASTor*MAXare included (see #3131)cd libc-test && cargo test --target mytarget); especially relevant for platforms that may not be checked in CI