diff options
Diffstat (limited to 'www/ffsend/files/patch-cargo-crates_ring-0.16.20')
-rw-r--r-- | www/ffsend/files/patch-cargo-crates_ring-0.16.20 | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/www/ffsend/files/patch-cargo-crates_ring-0.16.20 b/www/ffsend/files/patch-cargo-crates_ring-0.16.20 deleted file mode 100644 index 0ef106dec289..000000000000 --- a/www/ffsend/files/patch-cargo-crates_ring-0.16.20 +++ /dev/null @@ -1,125 +0,0 @@ -https://github.com/briansmith/ring/pull/1007 - ---- cargo-crates/ring-0.16.20/Cargo.toml.orig 2020-12-02 03:20:32.000000000 +0100 -+++ cargo-crates/ring-0.16.20/Cargo.toml 2020-12-09 09:54:26.615745000 +0100 -@@ -64,10 +64,10 @@ wasm32_c = [] - version = "0.3.37" - features = ["Crypto", "Window"] - default-features = false --[target."cfg(any(target_arch = \"x86\",target_arch = \"x86_64\", all(any(target_arch = \"aarch64\", target_arch = \"arm\"), any(target_os = \"android\", target_os = \"fuchsia\", target_os = \"linux\"))))".dependencies.spin] -+[target."cfg(any(target_arch = \"x86\",target_arch = \"x86_64\", all(any(target_arch = \"aarch64\", target_arch = \"arm\"), any(target_os = \"android\", target_os = \"freebsd\", target_os = \"fuchsia\", target_os = \"linux\"))))".dependencies.spin] - version = "0.5.2" - default-features = false --[target."cfg(any(target_os = \"android\", target_os = \"linux\"))".dependencies.libc] -+[target."cfg(any(target_os = \"android\", target_os = \"freebsd\", target_os = \"linux\"))".dependencies.libc] - version = "0.2.69" - default-features = false - ---- cargo-crates/ring-0.16.20/src/cpu.rs.orig 2020-11-30 21:30:03.000000000 +0100 -+++ cargo-crates/ring-0.16.20/src/cpu.rs 2020-12-09 09:53:52.469225000 +0100 -@@ -31,7 +31,7 @@ pub(crate) fn features() -> Features { - target_arch = "x86_64", - all( - any(target_arch = "aarch64", target_arch = "arm"), -- any(target_os = "android", target_os = "fuchsia", target_os = "linux") -+ any(target_os = "android", target_os = "fuchsia", target_os = "freebsd", target_os = "linux") - ) - ))] - { -@@ -49,7 +49,7 @@ pub(crate) fn features() -> Features { - - #[cfg(all( - any(target_arch = "aarch64", target_arch = "arm"), -- any(target_os = "android", target_os = "fuchsia", target_os = "linux") -+ any(target_os = "android", target_os = "fuchsia", target_os = "freebsd", target_os = "linux") - ))] - { - arm::setup(); -@@ -62,28 +62,58 @@ pub(crate) fn features() -> Features { - - pub(crate) mod arm { - #[cfg(all( -- any(target_os = "android", target_os = "linux"), -+ any(target_os = "android", target_os = "freebsd", target_os = "linux"), - any(target_arch = "aarch64", target_arch = "arm") - ))] - pub fn setup() { - use libc::c_ulong; -+ #[cfg(target_os = "freebsd")] -+ use libc::{c_int, c_void}; -+ #[cfg(target_os = "freebsd")] -+ extern crate std; - - // XXX: The `libc` crate doesn't provide `libc::getauxval` consistently - // across all Android/Linux targets, e.g. musl. -+ #[cfg(any(target_os = "android", target_os = "linux"))] - extern "C" { - fn getauxval(type_: c_ulong) -> c_ulong; - } - -+ #[cfg(target_os = "freebsd")] -+ extern "C" { -+ fn elf_aux_info(aux: c_int, buf: *mut c_void, buflen: c_int) -> c_int; -+ } -+ -+ #[cfg(not(target_os = "freebsd"))] - const AT_HWCAP: c_ulong = 16; - -+ #[cfg(target_os = "freebsd")] -+ const AT_HWCAP: c_int = 25; -+ - #[cfg(target_arch = "aarch64")] - const HWCAP_NEON: c_ulong = 1 << 1; - - #[cfg(target_arch = "arm")] - const HWCAP_NEON: c_ulong = 1 << 12; - -+ #[cfg(not(target_os = "freebsd"))] - let caps = unsafe { getauxval(AT_HWCAP) }; - -+ #[cfg(target_os = "freebsd")] -+ let caps: c_ulong = 0; -+ -+ #[cfg(target_os = "freebsd")] -+ { -+ let buffer : *mut c_void = { let t: *const c_ulong = ∩︀ t} as *mut c_void; -+ unsafe { -+ let _ret = elf_aux_info( -+ AT_HWCAP, -+ buffer, -+ std::mem::size_of_val(&caps) as i32 -+ ); -+ } -+ } -+ - // We assume NEON is available on AARCH64 because it is a required - // feature. - #[cfg(target_arch = "aarch64")] -@@ -100,11 +130,26 @@ pub(crate) mod arm { - #[cfg(target_arch = "arm")] - const OFFSET: c_ulong = 0; - -- #[cfg(target_arch = "arm")] -+ #[cfg(target_os = "freebsd")] -+ let buffer : *mut c_void = { let t: *const c_ulong = ∩︀ t} as *mut c_void; -+ -+ #[cfg(not(target_os = "freebsd"))] - let caps = { - const AT_HWCAP2: c_ulong = 26; - unsafe { getauxval(AT_HWCAP2) } - }; -+ -+ #[cfg(target_os = "freebsd")] -+ { -+ const AT_HWCAP2: c_int = 26; -+ unsafe { -+ let _ret = elf_aux_info( -+ AT_HWCAP2, -+ buffer, -+ std::mem::size_of_val(&caps) as i32 -+ ); -+ }; -+ } - - const HWCAP_AES: c_ulong = 1 << 0 + OFFSET; - const HWCAP_PMULL: c_ulong = 1 << 1 + OFFSET; |