Skip to content

Commit b069848

Browse files
geofftzanieb
authored andcommitted
fix missing symbols
1 parent d081a85 commit b069848

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
@@ -588,6 +588,13 @@ if [[ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" && -n "${CROSS_COMPILING}" && "$
588588
export PROFILE_TASK='-m test --pgo --ignore test_strftime_y2k'
589589
fi
590590

591+
# ./configure tries to auto-detect whether it can build 128-bit and 256-bit SIMD helpers for HACL,
592+
# but on x86-64 that requires v2 and v3 respectively, and on arm64 the performance is bad as noted
593+
# in the comments, so just don't even try. (We should check if we can make this conditional)
594+
if [[ -n "${PYTHON_MEETS_MINIMUM_VERSION_3_14}" ]]; then
595+
patch -p1 -i "${ROOT}/patch-python-configure-hacl-no-simd.patch"
596+
fi
597+
591598
# We use ndbm on macOS and BerkeleyDB elsewhere.
592599
if [[ "${PYBUILD_PLATFORM}" = macos* ]]; then
593600
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

@@ -655,6 +655,8 @@ _testinternalcapi:
655655
minimum-python-version: "3.13"
656656
- source: _testinternalcapi/test_lock.c
657657
minimum-python-version: "3.13"
658+
- source: _testinternalcapi/complex.c
659+
minimum-python-version: "3.14"
658660

659661
_testmultiphase:
660662
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)