Files
rust/library/std/src
Chris Denton 5779843eda 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
2025-04-21 18:53:16 +00:00
..
2025-04-09 12:29:59 +01:00
2025-04-09 12:29:59 +01:00
2025-03-18 16:46:56 +00:00
2025-04-04 14:47:04 +02:00
2025-04-09 12:29:59 +01:00
2025-04-09 12:29:59 +01:00
2025-02-13 13:10:28 -08:00
2025-03-08 16:22:37 -08:00
2025-04-09 12:29:59 +01:00
2025-04-09 12:29:59 +01:00
2025-01-11 06:35:21 +02:00
2025-03-29 13:08:18 +01:00
2025-03-29 13:08:18 +01:00
2025-03-29 13:08:18 +01:00
2025-03-29 13:08:18 +01:00
2025-03-11 09:46:34 -07:00
2025-02-25 09:08:22 +05:30
2025-04-09 12:29:59 +01:00
2025-03-13 20:09:07 +00:00
2025-03-10 21:23:32 +08:00
2025-02-07 16:54:07 +01:00