pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
cargo-c: add patches adapted from main pkgsrc to fix aarch64_eb build.
Module Name: pkgsrc-wip
Committed By: Havard Eidnes <he%NetBSD.org@localhost>
Pushed By: he
Date: Mon Feb 17 13:24:32 2025 +0000
Changeset: 1922550bd3db421af373cad6c9e257a0dd1f694c
Modified Files:
cargo-c/distinfo
Added Files:
cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memchr.rs
cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memmem_searcher.rs
cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_vector.rs
cargo-c/patches/patch-.._vendor_zerocopy-0.7.35_src_lib.rs
cargo-c/patches/patch-.._vendor_zeroize-1.8.1_src_lib.rs
Log Message:
cargo-c: add patches adapted from main pkgsrc to fix aarch64_eb build.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=1922550bd3db421af373cad6c9e257a0dd1f694c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
cargo-c/distinfo | 7 ++
..._vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs | 24 ++++
...-.._vendor_memchr-2.7.4_src_arch_aarch64_mod.rs | 15 +++
.../patch-.._vendor_memchr-2.7.4_src_memchr.rs | 128 +++++++++++++++++++++
...h-.._vendor_memchr-2.7.4_src_memmem_searcher.rs | 78 +++++++++++++
.../patch-.._vendor_memchr-2.7.4_src_vector.rs | 15 +++
.../patch-.._vendor_zerocopy-0.7.35_src_lib.rs | 24 ++++
.../patch-.._vendor_zeroize-1.8.1_src_lib.rs | 15 +++
8 files changed, 306 insertions(+)
diffs:
diff --git a/cargo-c/distinfo b/cargo-c/distinfo
index 8734b65860..1d2a10fc85 100644
--- a/cargo-c/distinfo
+++ b/cargo-c/distinfo
@@ -1120,3 +1120,10 @@ BLAKE2s (zerovec-derive-0.10.3.crate) = 39169b3f694a23e151216d25802a49f00889bfe0
SHA512 (zerovec-derive-0.10.3.crate) = caefbffeb35265db9f74933bf07109d57f0da48156cafd4f330af78a5c7eb9ab0831a80789ad4fb119875ebc6cfd7e3de68c9984b77dca5151f9be41f1ae6e09
Size (zerovec-derive-0.10.3.crate) = 19438 bytes
SHA1 (patch-.._vendor_faster-hex-0.9.0_src_lib.rs) = bf14d6be65a9567c671728efc986e365e6f8b278
+SHA1 (patch-.._vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs) = 41e2c34661715c24dba6755fa1ff570c109d6df7
+SHA1 (patch-.._vendor_memchr-2.7.4_src_arch_aarch64_mod.rs) = 342994b76358218a1401974bf2e7c8704966cb5b
+SHA1 (patch-.._vendor_memchr-2.7.4_src_memchr.rs) = 7b9a4b28dfdd76d1711a8890700742a226e4a5f3
+SHA1 (patch-.._vendor_memchr-2.7.4_src_memmem_searcher.rs) = 02c83291b2efe99b01ba0d90bef3874b7b30f237
+SHA1 (patch-.._vendor_memchr-2.7.4_src_vector.rs) = f75899536c710ee749a23063cf98c6ce9b149efc
+SHA1 (patch-.._vendor_zerocopy-0.7.35_src_lib.rs) = 038f656c5c78aa0bedf3c5f21497896b809e7b7a
+SHA1 (patch-.._vendor_zeroize-1.8.1_src_lib.rs) = a81220934e91199a678257f2a64790e8789b3426
diff --git a/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
new file mode 100644
index 0000000000..62eaae579e
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_memchr.rs
@@ -0,0 +1,24 @@
+$NetBSD: patch-.._vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs,v 1.1 2025/02/15 16:10:05 he Exp $
+
+Do not try to use neon on big-endian aarch64.
+
+--- ../vendor/memchr-2.7.4/src/arch/aarch64/memchr.rs.orig 2025-02-15 09:11:32.497322345 +0000
++++ ../vendor/memchr-2.7.4/src/arch/aarch64/memchr.rs
+@@ -8,7 +8,7 @@ available for `aarch64` targets.)
+
+ macro_rules! defraw {
+ ($ty:ident, $find:ident, $start:ident, $end:ident, $($needles:ident),+) => {{
+- #[cfg(target_feature = "neon")]
++ #[cfg(all(target_feature = "neon", target_endian = "little"))]
+ {
+ use crate::arch::aarch64::neon::memchr::$ty;
+
+@@ -19,7 +19,7 @@ macro_rules! defraw {
+ // enabled.
+ $ty::new_unchecked($($needles),+).$find($start, $end)
+ }
+- #[cfg(not(target_feature = "neon"))]
++ #[cfg(not(all(target_feature = "neon", target_endian = "little")))]
+ {
+ use crate::arch::all::memchr::$ty;
+
diff --git a/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_mod.rs b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
new file mode 100644
index 0000000000..103f8ee32b
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_arch_aarch64_mod.rs
@@ -0,0 +1,15 @@
+$NetBSD: patch-.._vendor_memchr-2.7.2_src_arch_aarch64_mod.rs,v 1.1 2025/02/15 16:10:05 he Exp $
+
+Don't try to do neon / SIMD on big-endian aarch64.
+
+--- ../vendor/memchr-2.7.4/src/arch/aarch64/mod.rs.orig 2025-02-15 09:14:20.982023231 +0000
++++ ../vendor/memchr-2.7.4/src/arch/aarch64/mod.rs
+@@ -2,6 +2,8 @@
+ Vector algorithms for the `aarch64` target.
+ */
+
++#[cfg(target_endian = "little")]
+ pub mod neon;
+
++#[cfg(target_endian = "little")]
+ pub(crate) mod memchr;
diff --git a/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memchr.rs b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memchr.rs
new file mode 100644
index 0000000000..1f4258589f
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memchr.rs
@@ -0,0 +1,128 @@
+$NetBSD: patch-.._vendor_memchr-2.7.2_src_memchr.rs,v 1.1 2025/02/15 16:10:05 he Exp $
+
+Don't try to do neon / SIMD on big-endian aarch64.
+
+--- ../vendor/memchr-2.7.4/src/memchr.rs.orig 2025-02-15 09:15:43.541439670 +0000
++++ ../vendor/memchr-2.7.4/src/memchr.rs
+@@ -518,14 +518,14 @@ unsafe fn memchr_raw(
+ {
+ crate::arch::wasm32::memchr::memchr_raw(needle, start, end)
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::memchr_raw(needle, start, end)
+ }
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::One::new(needle).find_raw(start, end)
+@@ -551,14 +551,14 @@ unsafe fn memrchr_raw(
+ {
+ crate::arch::wasm32::memchr::memrchr_raw(needle, start, end)
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::memrchr_raw(needle, start, end)
+ }
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::One::new(needle).rfind_raw(start, end)
+@@ -585,14 +585,14 @@ unsafe fn memchr2_raw(
+ {
+ crate::arch::wasm32::memchr::memchr2_raw(needle1, needle2, start, end)
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::memchr2_raw(needle1, needle2, start, end)
+ }
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::Two::new(needle1, needle2)
+@@ -620,7 +620,7 @@ unsafe fn memrchr2_raw(
+ {
+ crate::arch::wasm32::memchr::memrchr2_raw(needle1, needle2, start, end)
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::memrchr2_raw(
+ needle1, needle2, start, end,
+@@ -629,7 +629,7 @@ unsafe fn memrchr2_raw(
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::Two::new(needle1, needle2)
+@@ -662,7 +662,7 @@ unsafe fn memchr3_raw(
+ needle1, needle2, needle3, start, end,
+ )
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::memchr3_raw(
+ needle1, needle2, needle3, start, end,
+@@ -671,7 +671,7 @@ unsafe fn memchr3_raw(
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::Three::new(needle1, needle2, needle3)
+@@ -704,7 +704,7 @@ unsafe fn memrchr3_raw(
+ needle1, needle2, needle3, start, end,
+ )
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::memrchr3_raw(
+ needle1, needle2, needle3, start, end,
+@@ -713,7 +713,7 @@ unsafe fn memrchr3_raw(
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::Three::new(needle1, needle2, needle3)
+@@ -736,14 +736,14 @@ unsafe fn count_raw(needle: u8, start: *
+ {
+ crate::arch::wasm32::memchr::count_raw(needle, start, end)
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ crate::arch::aarch64::memchr::count_raw(needle, start, end)
+ }
+ #[cfg(not(any(
+ target_arch = "x86_64",
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::One::new(needle).count_raw(start, end)
diff --git a/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memmem_searcher.rs b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memmem_searcher.rs
new file mode 100644
index 0000000000..617abc9f27
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_memmem_searcher.rs
@@ -0,0 +1,78 @@
+$NetBSD: patch-.._vendor_memchr-2.7.2_src_memmem_searcher.rs,v 1.1 2025/02/15 16:10:05 he Exp $
+
+Don't try to use neon / SIMD on big-endian aarch64.
+
+--- ../vendor/memchr-2.7.4/src/memmem/searcher.rs.orig 2025-02-15 09:20:25.984377323 +0000
++++ ../vendor/memchr-2.7.4/src/memmem/searcher.rs
+@@ -3,7 +3,7 @@ use crate::arch::all::{
+ rabinkarp, twoway,
+ };
+
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ use crate::arch::aarch64::neon::packedpair as neon;
+ #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
+ use crate::arch::wasm32::simd128::packedpair as simd128;
+@@ -129,7 +129,7 @@ impl Searcher {
+ Searcher::twoway(needle, rabinkarp, prestrat)
+ }
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ if let Some(pp) = neon::Finder::with_pair(needle, pair) {
+ if do_packed_search(needle) {
+@@ -152,7 +152,7 @@ impl Searcher {
+ #[cfg(not(any(
+ all(target_arch = "x86_64", target_feature = "sse2"),
+ all(target_arch = "wasm32", target_feature = "simd128"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ if prefilter.is_none() {
+@@ -253,7 +253,7 @@ union SearcherKind {
+ avx2: crate::arch::x86_64::avx2::packedpair::Finder,
+ #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
+ simd128: crate::arch::wasm32::simd128::packedpair::Finder,
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ neon: crate::arch::aarch64::neon::packedpair::Finder,
+ }
+
+@@ -421,7 +421,7 @@ unsafe fn searcher_kind_simd128(
+ /// # Safety
+ ///
+ /// Callers must ensure that the `searcher.kind.neon` union field is set.
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ unsafe fn searcher_kind_neon(
+ searcher: &Searcher,
+ _prestate: &mut PrefilterState,
+@@ -686,7 +686,7 @@ impl Prefilter {
+ }
+
+ /// Return a prefilter using a aarch64 neon vector algorithm.
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ #[inline]
+ fn neon(finder: neon::Finder, needle: &[u8]) -> Prefilter {
+ trace!("building aarch64 neon prefilter");
+@@ -763,7 +763,7 @@ union PrefilterKind {
+ avx2: crate::arch::x86_64::avx2::packedpair::Finder,
+ #[cfg(all(target_arch = "wasm32", target_feature = "simd128"))]
+ simd128: crate::arch::wasm32::simd128::packedpair::Finder,
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ neon: crate::arch::aarch64::neon::packedpair::Finder,
+ }
+
+@@ -852,7 +852,7 @@ unsafe fn prefilter_kind_simd128(
+ /// # Safety
+ ///
+ /// Callers must ensure that the `strat.kind.neon` union field is set.
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ unsafe fn prefilter_kind_neon(
+ strat: &Prefilter,
+ haystack: &[u8],
diff --git a/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_vector.rs b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_vector.rs
new file mode 100644
index 0000000000..d68407703b
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_memchr-2.7.4_src_vector.rs
@@ -0,0 +1,15 @@
+$NetBSD: patch-.._vendor_memchr-2.7.2_src_vector.rs,v 1.1 2025/02/15 16:10:05 he Exp $
+
+Do not try to use neon on big-endian aarch64.
+
+--- ../vendor/memchr-2.7.4/src/vector.rs.orig 2025-02-15 09:24:32.108467529 +0000
++++ ../vendor/memchr-2.7.4/src/vector.rs
+@@ -293,7 +293,7 @@ mod x86avx2 {
+ }
+ }
+
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ mod aarch64neon {
+ use core::arch::aarch64::*;
+
diff --git a/cargo-c/patches/patch-.._vendor_zerocopy-0.7.35_src_lib.rs b/cargo-c/patches/patch-.._vendor_zerocopy-0.7.35_src_lib.rs
new file mode 100644
index 0000000000..5207d51d34
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_zerocopy-0.7.35_src_lib.rs
@@ -0,0 +1,24 @@
+$NetBSD: patch-.._vendor_zerocopy-0.7.33_src_lib.rs,v 1.1 2025/02/15 16:10:05 he Exp $
+
+Do not try to use neon on big-endian aarch64.
+
+--- ../vendor/zerocopy-0.7.35/src/lib.rs.orig 2025-02-15 10:03:46.503394929 +0000
++++ ../vendor/zerocopy-0.7.35/src/lib.rs
+@@ -3725,7 +3725,7 @@ mod simd {
+ powerpc64, powerpc64, vector_bool_long, vector_double, vector_signed_long, vector_unsigned_long
+ );
+ simd_arch_mod!(
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ aarch64, aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
+ int8x8x3_t, int8x8x4_t, int8x16_t, int8x16x2_t, int8x16x3_t, int8x16x4_t, int16x4_t,
+ int16x8_t, int32x2_t, int32x4_t, int64x1_t, int64x2_t, poly8x8_t, poly8x8x2_t, poly8x8x3_t,
+@@ -8018,7 +8018,7 @@ mod tests {
+ vector_signed_long,
+ vector_unsigned_long
+ );
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ #[rustfmt::skip]
+ test_simd_arch_mod!(
+ aarch64, float32x2_t, float32x4_t, float64x1_t, float64x2_t, int8x8_t, int8x8x2_t,
diff --git a/cargo-c/patches/patch-.._vendor_zeroize-1.8.1_src_lib.rs b/cargo-c/patches/patch-.._vendor_zeroize-1.8.1_src_lib.rs
new file mode 100644
index 0000000000..73bc859f35
--- /dev/null
+++ b/cargo-c/patches/patch-.._vendor_zeroize-1.8.1_src_lib.rs
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Do not try to use neon on big-endian aarch64.
+
+--- ../vendor/zeroize-1.8.1/src/lib.rs.orig 2025-02-17 09:10:19.704961007 +0000
++++ ../vendor/zeroize-1.8.1/src/lib.rs
+@@ -245,7 +245,7 @@ extern crate std;
+ #[cfg(feature = "zeroize_derive")]
+ pub use zeroize_derive::{Zeroize, ZeroizeOnDrop};
+
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ mod aarch64;
+ #[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
+ mod x86;
Home |
Main Index |
Thread Index |
Old Index