From ddcec6dc1d470cffb9f339d22c7fe15b6925852e Mon Sep 17 00:00:00 2001 From: Joe Richey Date: Fri, 21 Oct 2022 18:05:54 -0700 Subject: [PATCH] Add Build-Only CI for OpenBSD, Dragonfly, and Haiku Signed-off-by: Joe Richey --- .github/workflows/tests.yml | 6 ++++++ src/dragonfly.rs | 4 +++- src/openbsd.rs | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b9875945..ecf2ac7e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -319,6 +319,12 @@ jobs: run: cargo build -Z build-std=core --target=aarch64-kmc-solid_asp3 - name: Nintendo 3DS run: cargo build -Z build-std=core --target=armv6k-nintendo-3ds + - name: OpenBSD + run: cargo build -Z build-std=std --target=x86_64-unknown-openbsd --features=std + - name: Dragonfly BSD + run: cargo build -Z build-std=std --target=x86_64-unknown-dragonfly --features=std + - name: Haiku OS + run: cargo build -Z build-std=std --target=x86_64-unknown-haiku --features=std clippy-fmt: name: Clippy + rustfmt diff --git a/src/dragonfly.rs b/src/dragonfly.rs index c3701cc4..69530a05 100644 --- a/src/dragonfly.rs +++ b/src/dragonfly.rs @@ -21,7 +21,9 @@ pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { // getrandom(2) was introduced in DragonflyBSD 5.7 if let Some(fptr) = GETRANDOM.ptr() { let func: GetRandomFn = unsafe { core::mem::transmute(fptr) }; - return sys_fill_exact(dest, |buf| unsafe { func(buf.as_mut_ptr(), buf.len(), 0) }); + return sys_fill_exact(dest, |buf| unsafe { + func(buf.as_mut_ptr() as *mut u8, buf.len(), 0) + }); } else { use_file::getrandom_inner(dest) } diff --git a/src/openbsd.rs b/src/openbsd.rs index 5d4df50b..7a76f61d 100644 --- a/src/openbsd.rs +++ b/src/openbsd.rs @@ -8,6 +8,7 @@ //! Implementation for OpenBSD use crate::{util_libc::last_os_error, Error}; +use core::mem::MaybeUninit; pub fn getrandom_inner(dest: &mut [MaybeUninit]) -> Result<(), Error> { // getentropy(2) was added in OpenBSD 5.6, so we can use it unconditionally.