about summary refs log tree commit diff
path: root/library/std/src/sys/hermit/mod.rs
AgeCommit message (Collapse)AuthorLines
2023-03-29Rollup merge of #107387 - joboet:hermit_random, r=ChrisDentonMatthias Krüger-2/+11
Use random `HashMap` keys on Hermit Initializing the keys with random data provided by the libOS avoids HashDOS attacks and similar issues. CC `@stlankes`
2023-03-29std: use `cvt` to handle errors from `read_entropy` on Hermitjoboet-9/+3
2023-02-26remove unused importsStefan Lankes-1/+0
2023-02-26std: use random HashMap keys on Hermitjoboet-2/+17
2023-02-24move IO traits to std/src/os/hermitStefan Lankes-3/+1
By moving the IO traits, the RustyHermit support is harmonized to of other operating systems.
2023-02-24add support of RustyHermit's BSD socket layerStefan Lankes-18/+65
RustHermit publishs a new kernel interface and supports a common BSD socket layer. By supporting this interface, the implementation can be harmonized to other operating systems. To realize this socket layer, the handling of file descriptors is also harmonized to other operating systems.
2023-02-12Hermit: Remove floor symbolMartin Kröning-5/+0
This symbol should be provided by Hermit.
2022-11-06std: remove lock wrappers in `sys_common`joboet-3/+3
2022-10-13std: use `sync::Mutex` for internal staticsjoboet-3/+1
2022-09-09std: use futex-based locks and thread parker on Hermitjoboet-7/+8
2022-08-28Support `#[unix_sigpipe = "inherit|sig_dfl|sig_ign"]` on `fn main()`Martin Nordholts-1/+1
This makes it possible to instruct libstd to never touch the signal handler for `SIGPIPE`, which makes programs pipeable by default (e.g. with `./your-program | head -n 1`) without `ErrorKind::BrokenPipe` errors.
2022-04-14library: Remove definitions and reexports of `strlen` from libstdVadim Petrochenkov-10/+0
2022-03-22Move std::sys::{mutex, condvar, rwlock} to std::sys::locks.Mara Bos-3/+10
2022-02-04Hide Repr details from io::Error, and rework `io::Error::new_const`.Thom Chiovoloni-2/+2
2021-07-03Move `os_str_bytes` to `sys::unix` and reuse it on other platforms.Christiaan Dirkx-1/+2
2021-06-15Rename ErrorKind::Unknown to Uncategorized.Mara Bos-1/+1
2021-06-15Redefine `ErrorKind::Other` and stop using it in std.Mara Bos-1/+1
2021-05-03Move `std::sys::hermit::ext` to `std::os::hermit`Christiaan Dirkx-1/+0
2021-04-30Auto merge of #84522 - CDirkx:cmath, r=yaahcbors-0/+1
Reuse `sys::unix::cmath` on other platforms Reuse `sys::unix::cmath` on all non-`windows` platforms. `unix` is chosen as the canonical location instead of `unsupported` or `common` because `unsupported` doesn't make sense semantically and `common` is reserved for code that is supported on all platforms. Also `unix` is already the home of some non-`windows` code that is technically not exclusive to `unix` like `unix::path`.
2021-04-28Reuse `unix::cmath`Christiaan Dirkx-0/+1
2021-04-27Rollup merge of #84521 - CDirkx:hermit-dedup, r=Mark-SimulacrumDylan DPC-0/+3
Reuse modules on `hermit` Reuse the following modules on `hermit`: - `unix::path` (contents identical) - `unsupported::io` (contents identical) - `unsupported::thread_local_key` (contents functionally identical, only changes are the panic error messages) `@rustbot` label: +T-libs-impl
2021-04-24Reuse `unix::path` and `unsupported::{io, thread_local_key}` on `hermit`Christiaan Dirkx-0/+3
2021-04-22Document that `init` and `cleanup` are not guaranteed to runChristiaan Dirkx-0/+2
2021-04-22Move most init to `sys::init`Christiaan Dirkx-2/+2
2021-04-22Move all cleanup to `sys::cleanup`Christiaan Dirkx-1/+3
2021-04-22Rework `at_exit` to `cleanup`Christiaan Dirkx-2/+5
2021-04-20Replace `Void` with never typeChristiaan Dirkx-5/+0
2021-04-18Rename `NotSupported` to `Unsupported`Christiaan Dirkx-1/+1
2021-04-18Use `NotSupported` in more placesChristiaan Dirkx-1/+1
2021-03-24Rollup merge of #83353 - m-ou-se:io-error-avoid-alloc, r=nagisaDylan DPC-1/+4
Add internal io::Error::new_const to avoid allocations. This makes it possible to have a io::Error containing a message with zero allocations, and uses that everywhere to avoid the *three* allocations involved in `io::Error::new(kind, "message")`. The function signature isn't perfect, because it needs a reference to the `&str`. So for now, this is just a `pub(crate)` function. Later, we'll be able to use `fn new_const<MSG: &'static str>(kind: ErrorKind)` to make that a bit better. (Then we'll also be able to use some ZST trickery if that would result in more efficient code.) See https://github.com/rust-lang/rust/issues/83352
2021-03-21Use io::Error::new_const everywhere to avoid allocations.Mara Bos-1/+4
2021-02-24Reuse `std::sys::unsupported::pipe` on `hermit`Christiaan Dirkx-0/+1
2020-11-07Rollup merge of #74979 - maekawatoshiki:fix, r=Mark-SimulacrumYuki Okushi-0/+2
`#![deny(unsafe_op_in_unsafe_fn)]` in sys/hermit Partial fix of #73904. This encloses ``unsafe`` operations in ``unsafe fn`` in ``sys/hermit``. Some unsafe blocks are not well documented because some system-based functions lack documents.
2020-10-12reuse implementation of the system provider "unsupported"Stefan Lankes-0/+1
2020-08-21Add `#![allow(unsafe_op_in_unsafe_fn)]` in sys/hermitmaekawatoshiki-0/+2
2020-08-21Revert "`#![deny(unsafe_op_in_unsafe_fn)]` in sys/hermit"maekawatoshiki-15/+7
This reverts commit 7cae9e8c88e468e94c157d9aaee4b8e3cf90b9a4.
2020-07-31`#![deny(unsafe_op_in_unsafe_fn)]` in sys/hermitmaekawatoshiki-7/+15
2020-07-28adjust remaining targetsStefan Lankes-1/+1
- fix commit 7dc3886 - previous commit doesn't adjust all targets
2020-07-27mv std libs to library/mark-0/+146