Skip to content

Commit 7adb1e0

Browse files
committed
fix missing symbols
1 parent 867ca9c commit 7adb1e0

File tree

3 files changed

+34
-1
lines changed

3 files changed

+34
-1
lines changed

cpython-unix/build-cpython.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -570,6 +570,13 @@ if [[ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" && -n "${CROSS_COMPILING}" && "$
570570
export PROFILE_TASK='-m test --pgo --ignore test_strftime_y2k'
571571
fi
572572

573+
# ./configure tries to auto-detect whether it can build 128-bit and 256-bit SIMD helpers for HACL,
574+
# but on x86-64 that requires v2 and v3 respectively, and on arm64 the performance is bad as noted
575+
# in the comments, so just don't even try. (We should check if we can make this conditional)
576+
if [[ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" ]]; then
577+
patch -p1 -i "${ROOT}/patch-python-configure-hacl-no-simd.patch"
578+
fi
579+
573580
# We use ndbm on macOS and BerkeleyDB elsewhere.
574581
if [ "${PYBUILD_PLATFORM}" = "macos" ]; then
575582
CONFIGURE_FLAGS="${CONFIGURE_FLAGS} --with-dbmliborder=ndbm"

cpython-unix/extension-modules.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ _blake2:
4343
minimum-python-version: "3.14"
4444
- define: _DEFAULT_SOURCE
4545
minimum-python-version: "3.14"
46-
# Disable `explicit_bzero`, it requires glib 2.25+
46+
# Disable `explicit_bzero`, it requires glibc 2.25+
4747
- define: LINUX_NO_EXPLICIT_BZERO
4848
minimum-python-version: "3.14"
4949

@@ -648,6 +648,8 @@ _testinternalcapi:
648648
minimum-python-version: "3.13"
649649
- source: _testinternalcapi/test_lock.c
650650
minimum-python-version: "3.13"
651+
- source: _testinternalcapi/complex.c
652+
minimum-python-version: "3.14"
651653

652654
_testmultiphase:
653655
minimum-python-version: '3.9'
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
diff --git a/configure.ac b/configure.ac
2+
index a7b2f62579b..06c0c0c0da0 100644
3+
--- a/configure.ac
4+
+++ b/configure.ac
5+
@@ -7897,8 +7897,7 @@ AC_SUBST([LIBHACL_LDFLAGS])
6+
# The SIMD files use aligned_alloc, which is not available on older versions of
7+
# Android.
8+
# The *mmintrin.h headers are x86-family-specific, so can't be used on WASI.
9+
-if test "$ac_sys_system" != "Linux-android" -a "$ac_sys_system" != "WASI" || \
10+
- { test -n "$ANDROID_API_LEVEL" && test "$ANDROID_API_LEVEL" -ge 28; }
11+
+if false
12+
then
13+
dnl This can be extended here to detect e.g. Power8, which HACL* should also support.
14+
AX_CHECK_COMPILE_FLAG([-msse -msse2 -msse3 -msse4.1 -msse4.2],[
15+
@@ -7930,8 +7929,7 @@ AC_SUBST([LIBHACL_BLAKE2_SIMD128_OBJS])
16+
# Although AVX support is not guaranteed on Android
17+
# (https://developer.android.com/ndk/guides/abis#86-64), this is safe because we do a
18+
# runtime CPUID check.
19+
-if test "$ac_sys_system" != "Linux-android" -a "$ac_sys_system" != "WASI" || \
20+
- { test -n "$ANDROID_API_LEVEL" && test "$ANDROID_API_LEVEL" -ge 28; }
21+
+if false
22+
then
23+
AX_CHECK_COMPILE_FLAG([-mavx2],[
24+
[LIBHACL_SIMD256_FLAGS="-mavx2"]

0 commit comments

Comments
 (0)