about summary refs log tree commit diff
path: root/src/libstd/sys
AgeCommit message (Collapse)AuthorLines
2019-09-07Rollup merge of #64023 - tmandry:libstd-fuchsia-fixes, r=cramertjMazdak Farrokhzad-27/+76
libstd fuchsia fixes This fixes two bugs in libstd on Fuchsia: - `zx_time_t` was changed to an `i64`, but this never made it into libstd - When spawning processes where any of the stdio were null, libstd attempts to open `/dev/null`, which doesn't exist on Fuchsia r? @cramertj
2019-09-06Rollup merge of #64198 - cramertj:fuchsia-monotonic, r=alexcrichtonMazdak Farrokhzad-0/+1
Add Fuchsia to actually_monotonic Fuchsia provides a fully monotonic clock. Fix https://github.com/rust-lang/rust/issues/64196 cc @joshlf @tmandry r? @alexcrichton
2019-09-06Rollup merge of #64186 - alexcrichton:improve-env-codegen, r=sfacklerMazdak Farrokhzad-33/+42
std: Improve downstream codegen in `Command::env` This commit rejiggers the generics used in the implementation of `Command::env` with the purpose of reducing the amount of codegen that needs to happen in consumer crates, instead preferring to generate code into libstd. This was found when profiling the compile times of the `cc` crate where the binary rlib produced had a lot of `BTreeMap` code compiled into it but the crate doesn't actually use `BTreeMap`. It turns out that `Command::env` is generic enough to codegen the entire implementation in calling crates, but in this case there's no performance concern so it's fine to compile the code into the standard library. This change is done by removing the generic on the `CommandEnv` map which is intended to handle case-insensitive variables on Windows. Instead now a generic isn't used but rather a `use` statement defined per-platform is used. With this commit a debug build of `Command::new("foo").env("a", "b")` drops from 21k lines of LLVM IR to 10k.
2019-09-06Rollup merge of #63676 - newpavlov:wasi, r=alexcrichtonMazdak Farrokhzad-434/+323
Use wasi crate for Core API Blocked by: CraneStation/rust-wasi#5 Blocks: rust-lang/libc#1461 cc @sunfishcode @alexcrichton
2019-09-05Add Fuchsia to actually_monotonicTaylor Cramer-0/+1
Fuchsia provides a fully monotonic clock.
2019-09-05std: Improve downstream codegen in `Command::env`Alex Crichton-33/+42
This commit rejiggers the generics used in the implementation of `Command::env` with the purpose of reducing the amount of codegen that needs to happen in consumer crates, instead preferring to generate code into libstd. This was found when profiling the compile times of the `cc` crate where the binary rlib produced had a lot of `BTreeMap` code compiled into it but the crate doesn't actually use `BTreeMap`. It turns out that `Command::env` is generic enough to codegen the entire implementation in calling crates, but in this case there's no performance concern so it's fine to compile the code into the standard library. This change is done by removing the generic on the `CommandEnv` map which is intended to handle case-insensitive variables on Windows. Instead now a generic isn't used but rather a `use` statement defined per-platform is used. With this commit a debug build of `Command::new("foo").env("a", "b")` drops from 21k lines of LLVM IR to 10k.
2019-09-05Rollup merge of #64030 - jethrogb:jb/sgx-sync-issues, r=alexcrichtonMazdak Farrokhzad-20/+32
Fix unlock ordering in SGX synchronization primitives Avoid holding spinlocks during usercalls. This should avoid deadlocks in certain pathological scheduling cases. cc @mzohreva @parthsane r? @alexcrichton
2019-08-31Auto merge of #64025 - Wind-River:master_003, r=alexcrichtonbors-324/+0
remove directory libstd/sys/vxworks/backtrace which is not used any more r? @alexcrichton cc @n-salim
2019-08-30Fix unlock ordering in SGX synchronization primitivesJethro Beekman-20/+32
2019-08-30fuchsia: Fix default environment behavior when spawningTyler Mandry-2/+5
2019-08-30fuchsia: Don't fail to spawn if no stdin existsTyler Mandry-22/+41
2019-08-30remove directory libstd/sys/vxworks/backtrace which is not used any moreBaoshan Pang-324/+0
2019-08-30Don't try to use /dev/null on FuchsiaTyler Mandry-9/+36
2019-08-30simplify codenewpavlov-5/+12
2019-08-29Update zx_time_t to an i64Tyler Mandry-3/+3
2019-08-29update to wasi v0.7newpavlov-52/+67
2019-08-29Rollup merge of #63979 - alexcrichton:remove-wasm-syscall, r=dtolnayMazdak Farrokhzad-246/+18
std: Remove the `wasm_syscall` feature This commit removes the `wasm_syscall` feature from the wasm32-unknown-unknown build of the standard library. This feature was originally intended to allow an opt-in way to interact with the operating system in a posix-like way but it was never stabilized. Nowadays with the advent of the `wasm32-wasi` target that should entirely replace the intentions of the `wasm_syscall` feature.
2019-08-29Rollup merge of #63963 - Wind-River:master_003, r=alexcrichtonMazdak Farrokhzad-25/+2
remove the reference to __cxa_thread_atexit_impl r? @alexcrichton cc @n-salim
2019-08-28std: Remove the `wasm_syscall` featureAlex Crichton-246/+18
This commit removes the `wasm_syscall` feature from the wasm32-unknown-unknown build of the standard library. This feature was originally intended to allow an opt-in way to interact with the operating system in a posix-like way but it was never stabilized. Nowadays with the advent of the `wasm32-wasi` target that should entirely replace the intentions of the `wasm_syscall` feature.
2019-08-27remove the reference to __cxa_thread_atexit_implBaoshan Pang-25/+2
2019-08-26Rollup merge of #63836 - Wind-River:master_003, r=alexcrichtonMazdak Farrokhzad-1/+1
VxWorks does not provide a way to set the task name except at creation time Make set_name do thing as VxWorks does not provide a way to set the task name except at creation time. r? @alexcrichton cc @n-salim
2019-08-24Merge branch 'master' into wasiArtyom Pavlov-55/+58
2019-08-23Auto merge of #63814 - malbarbo:wasi-error-kind, r=alexcrichtonbors-2/+18
Implement decode_error_kind for wasi Based on the implementation for unix targets,
2019-08-23VxWorks does not provide a way to set the task name except at creation timeBaoshan Pang-1/+1
2019-08-23Implement decode_error_kind for wasiMarco A L Barbosa-2/+18
Based on the implementation for unix targets
2019-08-23Auto merge of #63521 - newpavlov:redox_builder, r=pietroalbinibors-13/+12
Re-enable Redox builder (take 2) Closes: #63160
2019-08-21move cvtnewpavlov-24/+24
2019-08-21fixesnewpavlov-74/+69
2019-08-21update argsnewpavlov-2/+8
2019-08-20use new get_argsnewpavlov-3/+5
2019-08-20Merge branch 'master' into wasinewpavlov-1/+1
2019-08-20Rollup merge of #63723 - josephlr:sigemptyset, r=alexcrichtonMazdak Farrokhzad-40/+27
Consolidate sigemptyset workarounds In sys/unix/process, we work around the sigemptyset linking issues on android in two different ways. This change consolidates these workarounds, and avoids duplicating bindings from `libc`.
2019-08-20fix C incompatibilitiesnewpavlov-22/+47
2019-08-20Merge branch 'master' into redox_builderArtyom Pavlov-1/+1
2019-08-19Consolidate sigemptyset workaroundsJoe Richey-40/+27
In sys/unix/process, we work around the sigemptyset linking issues on android in two different ways. This change consolidates these workarounds, and avoids duplicating bindings from `libc`.
2019-08-19Rollup merge of #63704 - Wind-River:master, r=CentrilMazdak Farrokhzad-1/+1
Fixed: error: unnecessary trailing semicolon
2019-08-19remove any from cfgsArtyom Pavlov-2/+2
2019-08-19cfg fix 2Artyom Pavlov-1/+2
2019-08-19fix cfgArtyom Pavlov-11/+9
2019-08-19fixnewpavlov-3/+3
2019-08-19use constnewpavlov-2/+4
2019-08-19typo fixnewpavlov-1/+1
2019-08-19use non-zero clock idnewpavlov-2/+2
2019-08-19remove libc importnewpavlov-1/+0
2019-08-19use wasi::get_environnewpavlov-30/+17
2019-08-19use wasi::get_argsnewpavlov-37/+5
2019-08-19remove to_stringnewpavlov-1/+1
2019-08-19replace libc::nanosleep with wasi::poll_oneoffnewpavlov-14/+23
2019-08-19return 0 from errno functionnewpavlov-1/+1
2019-08-19use wasi cratenewpavlov-376/+249