Skip to content

Conversation

@notgull
Copy link
Contributor

@notgull notgull commented Dec 23, 2025

Unfortunately it looks like the Vita libc does not support
the "utimensat" function, which is needed for setting file times.
To fix the build, this commit marks Vita as unsupported for the
function that sets the file times.

Unfortunately it looks like the Vita libc does not support
the "utimensat" function, which is needed for setting file times.
To fix the build, this commit marks Vita as unsupported for the
function that sets the file times.

Signed-off-by: John Nunley <dev@notgull.net>
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 23, 2025
@rustbot rustbot added the T-libs Relevant to the library team, which will review and decide on the PR/issue. label Dec 23, 2025
@rustbot
Copy link
Collaborator

rustbot commented Dec 23, 2025

r? @jhpratt

rustbot has assigned @jhpratt.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@joboet
Copy link
Member

joboet commented Dec 23, 2025

Maybe utimesat should be added to the libc shim library then? Otherwise r=me after maintainer approval.

CC @nikarh @pheki @zetanumbers
r? joboet

@rustbot rustbot assigned joboet and unassigned jhpratt Dec 23, 2025
@notgull
Copy link
Contributor Author

notgull commented Dec 23, 2025

It looks like Vita's newlib supports futimesat, so I might use that instead.

notgull added a commit to smol-rs/polling that referenced this pull request Dec 24, 2025
It looks like Hermit and Vita have some issues in stdlib
that are causing our checks to fail. Omit these targets from
CI until they are fixed.

Ref: rust-lang/rust#150297
Ref: rust-lang/rust#150294

Signed-off-by: John Nunley <dev@notgull.net>
@notgull
Copy link
Contributor Author

notgull commented Dec 24, 2025

Actually, I'm not sure? I'll defer to the target maintainers here.

@pheki
Copy link
Contributor

pheki commented Dec 24, 2025

TYSM for the PR!

We've been tracking it on this issue: #147437

It looks like Vita's newlib supports futimesat, so I might use that instead.

Actually, I'm not sure? I'll defer to the target maintainers here.

I couldn't find an implementation futimesat on vita's newlib, so unfortunately I don't think it's available.

Maybe utimesat should be added to the libc shim library then?

I think it's reasonable to treat it as unsupported as it is currently unsupported by the target's libc, even if it's technically possible using the OS API, in a similar fashion to Redox, that could be improved to support UTIME_OMIT but it's considered unsupported for now.

I agree that contributing to vita's newlib with utimensat, utimes and others from the same family would be ideal if @notgull is willing to take that work, but I don't want to pressure them as it would include a lot more complexity than this PR. Otherwise I think it's not realistic as unfortunately I don't have the bandwidth to do it right now and while I'm speaking only for myself, I assume that's the same for the other target maintainers as they have been less active than me. There are other important parts of the ecosystem that need to be fixed and users are actively complaining about, such as ring, and I'd like to focus my efforts on those once we get nightly to compile again.

I also don't want to continue blocking existing users and use-cases based on upstream support for a new feature.

What do you think?

@joboet
Copy link
Member

joboet commented Dec 24, 2025

Fair enough! Then let's merge this.
@bors r+ rollup

@bors
Copy link
Collaborator

bors commented Dec 24, 2025

📌 Commit d2f42b0 has been approved by joboet

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 24, 2025
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Dec 24, 2025
Fix compile issue in Vita libstd

Unfortunately it looks like the Vita libc does not support
the "utimensat" function, which is needed for setting file times.
To fix the build, this commit marks Vita as unsupported for the
function that sets the file times.
bors added a commit that referenced this pull request Dec 24, 2025
…uwer

Rollup of 3 pull requests

Successful merges:

 - #150141 (Misc cleanups from reading some borrowck code)
 - #150297 (Fix compile issue in Vita libstd)
 - #150341 (Fix some divergences with the cg_clif subtree)

r? `@ghost`
`@rustbot` modify labels: rollup
@notgull
Copy link
Contributor Author

notgull commented Dec 24, 2025

Confirming that I don't have the bandwidth at this point to contribute to the Vita newlib.

@bors bors merged commit 8e84475 into rust-lang:main Dec 24, 2025
11 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Dec 24, 2025
rust-timer added a commit that referenced this pull request Dec 24, 2025
Rollup merge of #150297 - forkgull:notgull/vita, r=joboet

Fix compile issue in Vita libstd

Unfortunately it looks like the Vita libc does not support
the "utimensat" function, which is needed for setting file times.
To fix the build, this commit marks Vita as unsupported for the
function that sets the file times.
Kobzol pushed a commit to Kobzol/rustc_codegen_cranelift that referenced this pull request Dec 29, 2025
…uwer

Rollup of 3 pull requests

Successful merges:

 - rust-lang/rust#150141 (Misc cleanups from reading some borrowck code)
 - rust-lang/rust#150297 (Fix compile issue in Vita libstd)
 - rust-lang/rust#150341 (Fix some divergences with the cg_clif subtree)

r? `@ghost`
`@rustbot` modify labels: rollup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants