Skip to content

l4re: change bit widths of file offset types - #5173

Open
dybucc wants to merge 1 commit into
rust-lang:mainfrom
dybucc:l4re-file-offsets
Open

l4re: change bit widths of file offset types#5173
dybucc wants to merge 1 commit into
rust-lang:mainfrom
dybucc:l4re-file-offsets

Conversation

@dybucc

@dybucc dybucc commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Description

This PR deprecates a number of symbols from the unix/linux_like/l4re module. This has also come with further deprecations and modifications in other top-level modules.

At present, the definitions in upstream l4re-core are always 64-bit wide for the 64-bit targets we seem to support in this module. Though rustc only has support for x86_64 under this target OS.

Sources

Sources on the uClibc changes are documented in #5165. A regex search of the affected symbols on l4re-core's libc directory reveals no modifications in their patches would necessitate changes in this patch.

Checklist

  • Relevant tests in libc-test/semver have been updated
  • No placeholder or unstable values like *LAST or *MAX are included (see #3131)
  • Tested locally (cd libc-test && cargo test --target mytarget); especially relevant for platforms that may not be checked in CI

@rustbot label +stable-nominated

@rustbot rustbot added S-waiting-on-review stable-nominated This PR should be considered for cherry-pick to libc's stable release branch labels Jun 16, 2026
@dybucc
dybucc force-pushed the l4re-file-offsets branch from a64dd66 to 66c2f42 Compare June 16, 2026 17:29
@dybucc dybucc changed the title refactor: change bitwidths of file off tys in l4re refactor: change bit widths of file offset types in L4Re Jun 17, 2026
@dybucc
dybucc force-pushed the l4re-file-offsets branch from 66c2f42 to 244c00b Compare June 19, 2026 10:12
@rustbot

This comment has been minimized.

@dybucc dybucc changed the title refactor: change bit widths of file offset types in L4Re l4re: change bit widths of file offset types Jun 19, 2026
@dybucc
dybucc force-pushed the l4re-file-offsets branch from 244c00b to f0bf0bf Compare June 20, 2026 09:52
@rustbot

This comment has been minimized.

@dybucc
dybucc force-pushed the l4re-file-offsets branch 2 times, most recently from caac209 to e16db76 Compare June 20, 2026 11:29
@tgross35

Copy link
Copy Markdown
Contributor

I'm pretty fine deprecating these since the platform has pretty low use, but we should figure out the other uclibc PR first.

@SnoozeThis #5165 -> remove label S-blocked, add label S-waiting-on-review

@SnoozeThis

Copy link
Copy Markdown

(https://snoozeth.is/u1Hjq3aITKU) I will wait until #5165 is merged and then add label S-waiting-on-review and remove label S-blocked.

@rustbot claim.

Comment thread src/unix/linux_like/l4re/uclibc/aarch64/mod.rs
@rustbot

This comment has been minimized.

@dybucc
dybucc force-pushed the l4re-file-offsets branch 2 times, most recently from e1d5fdc to fb8fb9e Compare June 25, 2026 12:46
@rustbot

This comment has been minimized.

@dybucc
dybucc force-pushed the l4re-file-offsets branch from fb8fb9e to a2d1a13 Compare June 26, 2026 09:43
@rustbot

This comment has been minimized.

@dybucc
dybucc force-pushed the l4re-file-offsets branch from a2d1a13 to e09560e Compare June 26, 2026 09:43
@dybucc

dybucc commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

@rustbot blocked

@rustbot

This comment has been minimized.

@SnoozeThis

Copy link
Copy Markdown

Resolved.

@rustbot label +S-waiting-on-review -S-blocked. @rustbot release-assignment.

Add deprecation warnings to LFS64 bindings under L4Re uClibc. This patch
adds notices to types and routines. The only supported target is 64-bits
wide. Its suffixed and unsuffixed types should always be equivalent.
@rustbot

rustbot commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

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.

@tgross35 tgross35 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shape looks fine but I didn't look at the structs in detail. Pinging @farao to take a look at that.

View changes since this review

Comment on lines +30 to +31
pub type flock64 = flock;
pub type stat64 = stat;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should these be deprecated as well?


#[deprecated(
since = "0.2.187",
note = "Use `fsblkcnt_t` instead. LFS64 are being phased out. See #4805."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

"Use fsblkcnt_t instead, LFS64 are being phased out. See #4805."

.->, to flow a bit better, and making it clear which repo. Applies a few places.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Also the version should ideally be updated

deprecated(
since = "0.2.187",
note = "Use `freopen` instead. LFS64 are being phased out. See #4805."
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

target_os = "l4re" is sufficient here, there's only uclibc and other libcs would probably act the same. Applies a few places.

@rustbot

rustbot commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Reminder, once the PR becomes ready for a review, use @rustbot ready.

@tgross35

tgross35 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

@rustbot label +S-waiting-on-maintainer

Also @farao we don't have a target maintainer for l4re, please add yourself if you're fine being pinged for l4re things (should be very low volume). Just a PR adding a file to https://github.com/rust-lang/rust/tree/c9ff496891c278ad660bc0ab85c1f0b72059464a/src/doc/rustc/src/platform-support and updating https://github.com/rust-lang/rust/blob/c9ff496891c278ad660bc0ab85c1f0b72059464a/src/doc/rustc/src/platform-support.md.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

O-linux O-linux-like O-unix S-waiting-on-author S-waiting-on-maintainer stable-nominated This PR should be considered for cherry-pick to libc's stable release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants