about summary refs log tree commit diff
path: root/src/libstd/rand
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2015-12-28 21:09:06 +0000
committerAnton Blanchard <anton@samba.org>2016-01-13 01:39:00 +0000
commitb372910476c40584a22cd253c69106775d0c93fa (patch)
tree7aca9d37fee606b735fb60588cd08c9f7297f8f3 /src/libstd/rand
parent49c38277905f515537ce4d9610df87680ae76524 (diff)
downloadrust-b372910476c40584a22cd253c69106775d0c93fa.tar.gz
rust-b372910476c40584a22cd253c69106775d0c93fa.zip
Add powerpc64 and powerpc64le support
This adds support for big endian and little endian PowerPC64.
make check runs clean apart from one big endian backtrace issue.
Diffstat (limited to 'src/libstd/rand')
-rw-r--r--src/libstd/rand/os.rs19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs
index 0ba0e01ce29..260b9bed3f0 100644
--- a/src/libstd/rand/os.rs
+++ b/src/libstd/rand/os.rs
@@ -30,13 +30,16 @@ mod imp {
                   target_arch = "x86",
                   target_arch = "arm",
                   target_arch = "aarch64",
-                  target_arch = "powerpc")))]
+                  target_arch = "powerpc",
+                  target_arch = "powerpc64",
+                  target_arch = "powerpc64le")))]
     fn getrandom(buf: &mut [u8]) -> libc::c_long {
         #[cfg(target_arch = "x86_64")]
         const NR_GETRANDOM: libc::c_long = 318;
         #[cfg(target_arch = "x86")]
         const NR_GETRANDOM: libc::c_long = 355;
-        #[cfg(any(target_arch = "arm", target_arch = "powerpc"))]
+        #[cfg(any(target_arch = "arm", target_arch = "powerpc",
+                  target_arch = "powerpc64", target_arch = "powerpc64le"))]
         const NR_GETRANDOM: libc::c_long = 384;
         #[cfg(target_arch = "aarch64")]
         const NR_GETRANDOM: libc::c_long = 278;
@@ -51,7 +54,9 @@ mod imp {
                       target_arch = "x86",
                       target_arch = "arm",
                       target_arch = "aarch64",
-                      target_arch = "powerpc"))))]
+                      target_arch = "powerpc",
+                      target_arch = "powerpc64",
+                      target_arch = "powerpc64le"))))]
     fn getrandom(_buf: &mut [u8]) -> libc::c_long { -1 }
 
     fn getrandom_fill_bytes(v: &mut [u8]) {
@@ -88,7 +93,9 @@ mod imp {
                   target_arch = "x86",
                   target_arch = "arm",
                   target_arch = "aarch64",
-                  target_arch = "powerpc")))]
+                  target_arch = "powerpc",
+                  target_arch = "powerpc64",
+                  target_arch = "powerpc64le")))]
     fn is_getrandom_available() -> bool {
         use sync::atomic::{AtomicBool, Ordering};
         use sync::Once;
@@ -116,7 +123,9 @@ mod imp {
                       target_arch = "x86",
                       target_arch = "arm",
                       target_arch = "aarch64",
-                      target_arch = "powerpc"))))]
+                      target_arch = "powerpc",
+                      target_arch = "powerpc64",
+                      target_arch = "powerpc64le"))))]
     fn is_getrandom_available() -> bool { false }
 
     /// A random number generator that retrieves randomness straight from