diff options
| author | Chris Denton <chris@chrisdenton.dev> | 2025-04-21 18:53:16 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-21 18:53:16 +0000 |
| commit | 5779843edac746718fead4eeeb505ef7bae8aef0 (patch) | |
| tree | 9f88b6d938dc64df61d3ad8b90667597f1a120bb /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 1ca5e4f1c1a4682b06db61abc0ce5d6244571329 (diff) | |
| parent | c1f0498e656665df438178bfd39ce75e321f191f (diff) | |
| download | rust-5779843edac746718fead4eeeb505ef7bae8aef0.tar.gz rust-5779843edac746718fead4eeeb505ef7bae8aef0.zip | |
Rollup merge of #139711 - thaliaarchi:hermit-args, r=jhpratt
Hermit: Unify `std::env::args` with Unix The only differences between these implementations of `std::env::args` are that Unix uses relaxed ordering, but Hermit uses acquire/release, and Unix truncates `argv` at the first null pointer, but Hermit doesn't. Since Hermit aims for Unix compatibility, unify it with Unix. The atomic orderings were established in https://github.com/rust-lang/rust/pull/74006 (cc `@euclio)` for Unix and https://github.com/rust-lang/rust/pull/100579 (cc `@joboet)` for Hermit and, before those, they used mutexes and non-atomic statics. I think the difference in orderings is simply from them being changed at different times. The commented explanation for using acquire/release for Hermit is “to broadcast writes by the OS”. I'm not experienced enough with atomics to accurately judge, but I think acquire/release is stronger than needed. Either way, they should match. Truncating at the first null pointer seems desirable, though I don't know whether it is necessary in practice on Hermit. cc `@mkroening` `@stlankes` for Hermit
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
