From 19f68a272912beaa68cb6c172e16ee6f21e96bf8 Mon Sep 17 00:00:00 2001 From: Ian Chamberlain Date: Wed, 9 Feb 2022 23:54:38 -0500 Subject: [PATCH] Enable argv support for horizon OS See https://github.com/Meziu/rust-horizon/pull/9 --- library/std/src/sys/unix/args.rs | 3 ++- library/std/src/sys/unix/mod.rs | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/library/std/src/sys/unix/args.rs b/library/std/src/sys/unix/args.rs index ee5e3983ac2..79964e2b238 100644 --- a/library/std/src/sys/unix/args.rs +++ b/library/std/src/sys/unix/args.rs @@ -68,7 +68,8 @@ impl DoubleEndedIterator for Args { target_os = "l4re", target_os = "fuchsia", target_os = "redox", - target_os = "vxworks" + target_os = "vxworks", + target_os = "horizon" ))] mod imp { use super::Args; diff --git a/library/std/src/sys/unix/mod.rs b/library/std/src/sys/unix/mod.rs index 000eaff6a02..34a023b02c4 100644 --- a/library/std/src/sys/unix/mod.rs +++ b/library/std/src/sys/unix/mod.rs @@ -43,10 +43,10 @@ pub mod thread_local_key; pub mod thread_parker; pub mod time; -#[cfg(any(target_os = "espidf", target_os = "horizon"))] +#[cfg(target_os = "espidf")] pub fn init(argc: isize, argv: *const *const u8) {} -#[cfg(not(any(target_os = "espidf", target_os = "horizon")))] +#[cfg(not(target_os = "espidf"))] // SAFETY: must be called only once during runtime initialization. // NOTE: this is not guaranteed to run, for example when Rust code is called externally. pub unsafe fn init(argc: isize, argv: *const *const u8) { @@ -88,6 +88,7 @@ pub unsafe fn init(argc: isize, argv: *const *const u8) { target_os = "ios", target_os = "redox", target_os = "l4re", + target_os = "horizon", )))] 'poll: { use crate::sys::os::errno; @@ -131,6 +132,7 @@ pub unsafe fn init(argc: isize, argv: *const *const u8) { target_os = "fuchsia", target_os = "vxworks", target_os = "l4re", + target_os = "horizon", )))] { use crate::sys::os::errno; @@ -149,7 +151,7 @@ pub unsafe fn init(argc: isize, argv: *const *const u8) { } unsafe fn reset_sigpipe() { - #[cfg(not(any(target_os = "emscripten", target_os = "fuchsia")))] + #[cfg(not(any(target_os = "emscripten", target_os = "fuchsia", target_os = "horizon")))] rtassert!(signal(libc::SIGPIPE, libc::SIG_IGN) != libc::SIG_ERR); } }