From a2e3993111d40308bc492c5683a08ecd335dbe95 Mon Sep 17 00:00:00 2001 From: Richo Healey Date: Fri, 9 Jan 2015 20:20:15 -0800 Subject: [PATCH] powerpc: Add libstd utils --- src/libstd/os.rs | 5 +++++ src/libstd/rand/os.rs | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/libstd/os.rs b/src/libstd/os.rs index 6e3949b9e22..9f7b9668bce 100644 --- a/src/libstd/os.rs +++ b/src/libstd/os.rs @@ -1422,6 +1422,11 @@ mod arch_consts { pub const ARCH: &'static str = "mipsel"; } +#[cfg(target_arch = "powerpc")] +mod arch_consts { + pub const ARCH: &'static str = "powerpc"; +} + #[cfg(test)] mod tests { use prelude::v1::*; diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs index 18d40ecd3eb..68ba7e1dd29 100644 --- a/src/libstd/rand/os.rs +++ b/src/libstd/rand/os.rs @@ -32,7 +32,8 @@ mod imp { any(target_arch = "x86_64", target_arch = "x86", target_arch = "arm", - target_arch = "aarch64")))] + target_arch = "aarch64", + target_arch = "powerpc")))] fn getrandom(buf: &mut [u8]) -> libc::c_long { extern "C" { fn syscall(number: libc::c_long, ...) -> libc::c_long; @@ -44,6 +45,8 @@ mod imp { const NR_GETRANDOM: libc::c_long = 355; #[cfg(any(target_arch = "arm", target_arch = "aarch64"))] const NR_GETRANDOM: libc::c_long = 384; + #[cfg(target_arch = "powerpc")] + const NR_GETRANDOM: libc::c_long = 384; unsafe { syscall(NR_GETRANDOM, buf.as_mut_ptr(), buf.len(), 0u) @@ -54,7 +57,8 @@ mod imp { any(target_arch = "x86_64", target_arch = "x86", target_arch = "arm", - target_arch = "aarch64"))))] + target_arch = "aarch64", + target_arch = "powerpc"))))] fn getrandom(_buf: &mut [u8]) -> libc::c_long { -1 } fn getrandom_fill_bytes(v: &mut [u8]) { @@ -91,7 +95,8 @@ mod imp { any(target_arch = "x86_64", target_arch = "x86", target_arch = "arm", - target_arch = "aarch64")))] + target_arch = "aarch64", + target_arch = "powerpc")))] fn is_getrandom_available() -> bool { use sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering}; @@ -119,7 +124,8 @@ mod imp { any(target_arch = "x86_64", target_arch = "x86", target_arch = "arm", - target_arch = "aarch64"))))] + target_arch = "aarch64", + target_arch = "powerpc"))))] fn is_getrandom_available() -> bool { false } /// A random number generator that retrieves randomness straight from