From c614924880c93923494a74bacc606a2b161959a6 Mon Sep 17 00:00:00 2001 From: Joe Richey Date: Fri, 21 Oct 2022 17:21:37 -0700 Subject: [PATCH] Try to fix Solaris build Signed-off-by: Joe Richey --- .github/workflows/tests.yml | 2 +- src/solaris_illumos.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 210d67ba..3dd0025f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -167,7 +167,7 @@ jobs: matrix: target: [ # See: https://github.com/rust-random/getrandom/issues/254 - # sparcv9-sun-solaris, + sparcv9-sun-solaris, x86_64-unknown-netbsd, ] steps: diff --git a/src/solaris_illumos.rs b/src/solaris_illumos.rs index eaf27094..bf669fb6 100644 --- a/src/solaris_illumos.rs +++ b/src/solaris_illumos.rs @@ -22,7 +22,7 @@ use crate::{ util_libc::{sys_fill_exact, Weak}, Error, }; -use core::mem; +use core::mem::{self, MaybeUninit}; #[cfg(target_os = "illumos")] type GetRandomFn = unsafe extern "C" fn(*mut u8, libc::size_t, libc::c_uint) -> libc::ssize_t; @@ -38,7 +38,7 @@ pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { // derived platforms for atomically obtaining random data. for chunk in dest.chunks_mut(256) { sys_fill_exact(chunk, |buf| unsafe { - func(buf.as_mut_ptr(), buf.len(), 0) as libc::ssize_t + func(buf.as_mut_ptr() as *mut u8, buf.len(), 0) as libc::ssize_t })? } Ok(())