Steve Lau
63ec8dd24f
fix: build on haiku
2024-06-10 10:38:00 +08:00
David Carlier
75607b7a5a
std::unix::os current_exe implementation simplification for haiku.
...
_get_net_image_info is a bit overkill as it allows to get broader
informations about the process.
2024-06-08 17:37:48 +01:00
Tobias Bucher
5d8f9b4dc1
Make std::env::{set_var, remove_var} unsafe in edition 2024
...
Allow calling these functions without `unsafe` blocks in editions up
until 2021, but don't trigger the `unused_unsafe` lint for `unsafe`
blocks containing these functions.
Fixes #27970 .
Fixes #90308 .
CC #124866 .
2024-05-29 23:42:27 +02:00
Mads Marquart
6016bad063
Use _NSGetEnviron instead of environ on iOS/tvOS/watchOS/visionOS
...
This should be slightly more correct, and matches the implementation in other programming languages:
- [Python's `os.environ`](https://github.com/python/cpython/blob/v3.12.3/Modules/posixmodule.c#L1562-L1566 ).
- [Swift's `Darwin.environ`](https://github.com/apple/swift-corelibs-foundation/blob/swift-5.10-RELEASE/CoreFoundation/Base.subproj/CFPlatform.c#L1811-L1812 ), though that library is bundled on the system, so they can change it if they want.
- [Dart/Flutter](https://github.com/dart-lang/sdk/blob/3.4.0/runtime/bin/platform_macos.cc#L205-L234 ), doesn't support environment variables on iOS.
- Node seems to not be entirely consistent with it:
- [`process.c`](https://github.com/nodejs/node/blob/v22.1.0/deps/uv/src/unix/process.c#L38 ).
- [`unix/core.c`](https://github.com/nodejs/node/blob/v22.1.0/deps/uv/src/unix/core.c#L59 ).
- [.NET/Xamarin](https://github.com/dotnet/runtime/blob/v8.0.5/src/native/libs/configure.cmake#L1099-L1106 ).
- [OpenJDK](https://github.com/openjdk/jdk/blob/jdk-23%2B22/src/java.base/unix/native/libjava/ProcessEnvironment_md.c#L31-L33 ).
2024-05-17 22:11:50 +02:00
Mads Marquart
d9c0eb8084
Use target_vendor = "apple" instead of target_os = "..."
2024-04-28 18:22:37 +02:00
Adam Gastineau
4f6f433745
Support for visionOS
2024-03-18 20:45:45 -07:00
Arthur Carcano
88ac7ace56
Delete architecture-specific memchr code in std::sys
...
Currently all architecture-specific memchr code is only used in
`std::io`. Most of the actual `memchr` capacity exposed to the user
through the slice API is instead implemented in core::slice::memchr.
Hence this commit deletes memchr from std::sys[_common] and replace
calls to it by calls to core::slice::memchr functions. This deletes
(r)memchr from the list of symbols linked to libc.
2024-02-20 22:27:39 +01:00
David Thomas
dbb15fb45d
Dyn erase at call site
2024-02-18 17:58:52 +00:00
joboet
99128b7e45
std: begin moving platform support modules into pal
2024-01-11 20:10:25 +01:00