about summary refs log tree commit diff
path: root/src/libstd/sys/unix/rand.rs
diff options
context:
space:
mode:
authorMarco A L Barbosa <malbarbo@gmail.com>2017-10-31 11:28:44 -0200
committerMarco A L Barbosa <malbarbo@gmail.com>2017-10-31 11:28:44 -0200
commit8e962433f989367b555ef23da5c89e2afac81560 (patch)
tree14aa5b3794c5fd3d753eb809806c867ad0c3c283 /src/libstd/sys/unix/rand.rs
parent40edeccad6c3f70ce27a761fa00bb5afd09c13b5 (diff)
downloadrust-8e962433f989367b555ef23da5c89e2afac81560.tar.gz
rust-8e962433f989367b555ef23da5c89e2afac81560.zip
Fix NR_GETRANDOM for linux x32
Diffstat (limited to 'src/libstd/sys/unix/rand.rs')
-rw-r--r--src/libstd/sys/unix/rand.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libstd/sys/unix/rand.rs b/src/libstd/sys/unix/rand.rs
index fd066c9cdbe..e2d40742c71 100644
--- a/src/libstd/sys/unix/rand.rs
+++ b/src/libstd/sys/unix/rand.rs
@@ -49,7 +49,9 @@ mod imp {
                   target_arch = "powerpc64",
                   target_arch = "s390x")))]
     fn getrandom(buf: &mut [u8]) -> libc::c_long {
-        #[cfg(target_arch = "x86_64")]
+        #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
+        const NR_GETRANDOM: libc::c_long = 0x40000000 + 318;
+        #[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
         const NR_GETRANDOM: libc::c_long = 318;
         #[cfg(target_arch = "x86")]
         const NR_GETRANDOM: libc::c_long = 355;