pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
rust180: add additional patches needed for aarch64_eb native build.
Module Name: pkgsrc-wip
Committed By: Havard Eidnes <he%NetBSD.org@localhost>
Pushed By: he
Date: Tue Oct 1 18:44:49 2024 +0000
Changeset: 7ccba2c28254a46aa60edc582482eaa512e7e136
Modified Files:
rust180/Makefile
rust180/distinfo
Added Files:
rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs
rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs
rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs
rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs
rust180/patches/patch-vendor_memchr-2.7.1_src_memchr.rs
rust180/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs
rust180/patches/patch-vendor_memchr-2.7.1_src_vector.rs
Log Message:
rust180: add additional patches needed for aarch64_eb native build.
Build has not yet completed, but these are at least needed.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=7ccba2c28254a46aa60edc582482eaa512e7e136
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
rust180/Makefile | 18 +++
rust180/distinfo | 7 ++
..._aho-corasick-1.1.2_src_packed_teddy_builder.rs | 33 ++++++
...-vendor_aho-corasick-1.1.2_src_packed_vector.rs | 28 +++++
...-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs | 25 ++++
...tch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs | 16 +++
.../patch-vendor_memchr-2.7.1_src_memchr.rs | 129 +++++++++++++++++++++
...atch-vendor_memchr-2.7.1_src_memmem_searcher.rs | 79 +++++++++++++
.../patch-vendor_memchr-2.7.1_src_vector.rs | 15 +++
9 files changed, 350 insertions(+)
diffs:
diff --git a/rust180/Makefile b/rust180/Makefile
index d8fd1b5351..d4bc05d835 100644
--- a/rust180/Makefile
+++ b/rust180/Makefile
@@ -455,10 +455,28 @@ CKSUMS+= 1b26fca824c410077780fbc2f4c53c1d195ba3bdf6785b529ceb0a11f039cec2
CKSUMS+= 6ae779ec5d00f443075316e0105edf30b489a38e2e96325bec14ccecd014145b
CKSUMS+= 28d66e566b73f6f0f7add4092874dc967ce133bfb6dcbd81f03c9a04b6e4e1d0
+CKSUM_CRATES+= vendor/memchr-2.7.1
+CKSUMS+= 5bb70f915084e629d940dbc322f5b9096b2e658cf63fea8a2f6e7550412e73a0
+CKSUMS+= 34aaa34eb7048e8bba49d390942ab707990380952f37f388f3cca30970c53450
+CKSUMS+= 44cd1a614bd66f1e66fc86c541d3c3b8d3a14a644c13e8bf816df3f555eac2d4
+CKSUMS+= 27f9bff08b24828e1a611b10a0282f5457d12e9e7254202040144d392297d720
+CKSUMS+= 36f1c03304261877cd7f75c7ed8f7daff7a5c570cedce375e38e9b1ca44467f7
+CKSUMS+= ef7e45ffa02b11b07aa79636b1b3138f5757e3409d6fc8d0134c09308ed1942c
+CKSUMS+= 69c38fb33d8f1a2a26769a81e514428240c8f8f15cea5302873d90b80391dd89
+CKSUMS+= 16e36c43c9bb6c14c6fd9282d187864aa748ee0c9b0e2c022a72c66a4b2b30e8
+CKSUMS+= ef823ae8c54053780a0e7aeaee14b6c6ac2aea4567bf701ae8be137806c6d293
+CKSUMS+= e9bae14479a8b7f1b946d5b0a5e186085ad4ec330cc8b882d444117c4b556b00
+
CKSUM_CRATES+= vendor/bytecount-0.6.8
CKSUMS+= 01cd755a128d8a5892f3edda195b26bb461be375be17dd72e6e4f061169e6dff
CKSUMS+= a6750c0e2a6c385ec902cd7f87de7835fe2b4171b9c83da64122274ee20a77c6
+CKSUM_CRATES+= vendor/aho-corasick-1.1.2
+CKSUMS+= 840065521cbd4701fa5b8b506d1537843d858c903f7cadf3c68749ea1780874b
+CKSUMS+= 3236bb49a58837d63d8dfb7b3c9cae59f0f27b9f7adf8f4e1a978f6116f64fef
+CKSUMS+= 720735ea6c7ff92b081426513e6e82feed24a922849297bb538d28f7b8129f81
+CKSUMS+= f41fe38e3a4860e6c8adee4852ab7f5cf683bcb0849c6a02f00f7701ad25af89
+
SUBST_CLASSES+= cksum
SUBST_STAGE.cksum= pre-configure
.for crate in ${CKSUM_CRATES}
diff --git a/rust180/distinfo b/rust180/distinfo
index 3fc89b0b5b..bf8eaed659 100644
--- a/rust180/distinfo
+++ b/rust180/distinfo
@@ -134,6 +134,8 @@ SHA1 (patch-src_tools_cargo_src_cargo_core_profiles.rs) = e1af7fde97416e0a269ee3
SHA1 (patch-src_tools_cargo_tests_testsuite_build.rs) = 60713699c968f3e389f486e796009d31a5048906
SHA1 (patch-src_tools_rust-installer_install-template.sh) = 6984546c34a2e4d55a6dbe59baa0d4958184e0b7
SHA1 (patch-tools_rust-analyzer_lib_line-index-src_lib.rs) = 4ed527174447ee23fa81dd6840e18b9949d5a273
+SHA1 (patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs) = c76abf55d641cebb70935ebeebe6cdd6f3f09463
+SHA1 (patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs) = dddc3ea2f407ce61c8bf83d1842e6a82557b8bee
SHA1 (patch-vendor_bytecount-0.6.8_src_lib.rs) = d7610f2ae957d085a465f8c75549e5a11586a8b0
SHA1 (patch-vendor_cc-1.0.73_src_lib.rs) = 690b3feaa619050512254d7c18fd4f51da98e279
SHA1 (patch-vendor_crossbeam-utils-0.8.18_no__atomic.rs) = d4d9288cb199af9bc7e321fbd2b42860aed954ec
@@ -142,6 +144,11 @@ SHA1 (patch-vendor_libc-0.2.148_src_unix_bsd_netbsdlike_netbsd_riscv64.rs) = 869
SHA1 (patch-vendor_libc-0.2.153_src_unix_solarish_mod.rs) = dfa5ec7f1c69e3ca4ff8574dcd248bdce6c82f0b
SHA1 (patch-vendor_libc-0.2.154_src_unix_solarish_mod.rs) = e8f72fb13df8b9e111d296bcf3597343496219b5
SHA1 (patch-vendor_libc-0.2.155_src_unix_solarish_mod.rs) = 97505b88875aa80fa2b5589b6090237c3786e143
+SHA1 (patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs) = 22b2cd0e629f66b81456aed62b4925070635a62b
+SHA1 (patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs) = 46473abc95a7884ee6163d30156b67d8951c0c30
+SHA1 (patch-vendor_memchr-2.7.1_src_memchr.rs) = f2a5ad9d40ab3277d3f87d4044c5eb719a25b58d
+SHA1 (patch-vendor_memchr-2.7.1_src_memmem_searcher.rs) = cd5fa24223748307e20758c6669330b3b75e6b57
+SHA1 (patch-vendor_memchr-2.7.1_src_vector.rs) = 2903cc1de6c759d15ad269ae3f227709561b2c0c
SHA1 (patch-vendor_memchr-2.7.2_src_arch_aarch64_memchr.rs) = caf5b8b848923c2e74bf5b5742b1ee564b6145f1
SHA1 (patch-vendor_memchr-2.7.2_src_arch_aarch64_mod.rs) = fa96a8e6546e5603a8a22fe6e09619ffaafe7bf3
SHA1 (patch-vendor_memchr-2.7.2_src_memchr.rs) = 609dc522e5c774226d7b21391d5354f8382fe578
diff --git a/rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs b/rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs
new file mode 100644
index 0000000000..97e419f1c2
--- /dev/null
+++ b/rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_teddy_builder.rs
@@ -0,0 +1,33 @@
+$NetBSD$
+
+Avoid use of neon / SIMD on big-endian aarch64.
+
+--- vendor/aho-corasick-1.1.2/src/packed/teddy/builder.rs.orig 2024-09-29 08:19:52.405194911 +0000
++++ vendor/aho-corasick-1.1.2/src/packed/teddy/builder.rs
+@@ -230,7 +230,7 @@ impl Builder {
+ }
+ }
+ }
+- #[cfg(target_arch = "aarch64")]
++ #[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ {
+ use self::aarch64::SlimNeon;
+
+@@ -301,7 +301,7 @@ impl Builder {
+ }
+ #[cfg(not(any(
+ all(target_arch = "x86_64", target_feature = "sse2"),
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ None
+@@ -705,7 +705,7 @@ mod x86_64 {
+ }
+ }
+
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ mod aarch64 {
+ use core::arch::aarch64::uint8x16_t;
+
diff --git a/rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs b/rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs
new file mode 100644
index 0000000000..ebbbbaaded
--- /dev/null
+++ b/rust180/patches/patch-vendor_aho-corasick-1.1.2_src_packed_vector.rs
@@ -0,0 +1,28 @@
+$NetBSD$
+
+Avoid use of neon / SIMD on big-endian aarch64.
+
+--- vendor/aho-corasick-1.1.2/src/packed/vector.rs.orig 2024-09-29 08:09:15.720814688 +0000
++++ vendor/aho-corasick-1.1.2/src/packed/vector.rs
+@@ -595,7 +595,7 @@ mod x86_64_avx2 {
+ }
+ }
+
+-#[cfg(target_arch = "aarch64")]
++#[cfg(all(target_arch = "aarch64", target_endian = "little"))]
+ mod aarch64_neon {
+ use core::arch::aarch64::*;
+
+@@ -1466,7 +1466,11 @@ mod tests_x86_64_avx2 {
+ }
+ }
+
+-#[cfg(all(test, target_arch = "aarch64", target_feature = "neon"))]
++#[cfg(all(test,
++ target_arch = "aarch64",
++ target_feature = "neon",
++ target_endian = "little"
++))]
+ mod tests_aarch64_neon {
+ use core::arch::aarch64::*;
+
diff --git a/rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs b/rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs
new file mode 100644
index 0000000000..dbedca579c
--- /dev/null
+++ b/rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_memchr.rs
@@ -0,0 +1,25 @@
+$NetBSD$
+
+Turn off use of neon on big-endian aarch64.
+Ref. https://github.com/rust-lang/rust/issues/129819
+
+--- vendor/memchr-2.7.1/src/arch/aarch64/memchr.rs.orig 2024-09-29 15:07:46.024388906 +0000
++++ vendor/memchr-2.7.1/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/rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs b/rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs
new file mode 100644
index 0000000000..3ce0048d64
--- /dev/null
+++ b/rust180/patches/patch-vendor_memchr-2.7.1_src_arch_aarch64_mod.rs
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Only use neon extension on little-endian aarch64.
+Ref. https://github.com/rust-lang/rust/issues/129819
+
+--- vendor/memchr-2.7.1/src/arch/aarch64/mod.rs.orig 2024-09-29 15:09:57.496379714 +0000
++++ vendor/memchr-2.7.1/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/rust180/patches/patch-vendor_memchr-2.7.1_src_memchr.rs b/rust180/patches/patch-vendor_memchr-2.7.1_src_memchr.rs
new file mode 100644
index 0000000000..6cbb843fd8
--- /dev/null
+++ b/rust180/patches/patch-vendor_memchr-2.7.1_src_memchr.rs
@@ -0,0 +1,129 @@
+$NetBSD$
+
+Only use neon extension on little-endian aarch64.
+Ref. https://github.com/rust-lang/rust/issues/129819
+
+--- vendor/memchr-2.7.1/src/memchr.rs.orig 2024-09-29 15:11:13.260160791 +0000
++++ vendor/memchr-2.7.1/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",
+ target_arch = "wasm32",
+- 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",
+ target_arch = "wasm32",
+- 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",
+ target_arch = "wasm32",
+- 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",
+ target_arch = "wasm32",
+- 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",
+ target_arch = "wasm32",
+- 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",
+ target_arch = "wasm32",
+- 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",
+ target_arch = "wasm32",
+- target_arch = "aarch64"
++ all(target_arch = "aarch64", target_endian = "little")
+ )))]
+ {
+ crate::arch::all::memchr::One::new(needle).count_raw(start, end)
diff --git a/rust180/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs b/rust180/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs
new file mode 100644
index 0000000000..facb8f2869
--- /dev/null
+++ b/rust180/patches/patch-vendor_memchr-2.7.1_src_memmem_searcher.rs
@@ -0,0 +1,79 @@
+$NetBSD$
+
+Skip attempts at using neon on big-endian aarch64.
+Ref. https://github.com/rust-lang/rust/issues/129819
+
+--- vendor/memchr-2.7.1/src/memmem/searcher.rs.orig 2024-09-29 15:19:47.699469326 +0000
++++ vendor/memchr-2.7.1/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(target_arch = "wasm32")]
+ 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"),
+ target_arch = "wasm32",
+- 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(target_arch = "wasm32")]
+ 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(target_arch = "wasm32")]
+ 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/rust180/patches/patch-vendor_memchr-2.7.1_src_vector.rs b/rust180/patches/patch-vendor_memchr-2.7.1_src_vector.rs
new file mode 100644
index 0000000000..d3dadc625c
--- /dev/null
+++ b/rust180/patches/patch-vendor_memchr-2.7.1_src_vector.rs
@@ -0,0 +1,15 @@
+$NetBSD$
+
+Avoid using neon on big-endian aarch64.
+
+--- vendor/memchr-2.7.1/src/vector.rs.orig 2024-09-29 15:24:01.478487808 +0000
++++ vendor/memchr-2.7.1/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::*;
+
Home |
Main Index |
Thread Index |
Old Index