Skip to content

gh-144319: obtain SeLockMemoryPrivilege on Windows#144928

Merged
pablogsal merged 3 commits intopython:mainfrom
chris-eibl:huge_pages_windows
Mar 23, 2026
Merged

gh-144319: obtain SeLockMemoryPrivilege on Windows#144928
pablogsal merged 3 commits intopython:mainfrom
chris-eibl:huge_pages_windows

Conversation

@chris-eibl
Copy link
Member

@chris-eibl chris-eibl commented Feb 17, 2026

Obtain SeLockMemoryPrivilege on startup on Windows to be able to use large pages when requested by setting the environment variable PYTHON_PYMALLOC_HUGEPAGES.

I've decided to fail if that doesn't succeed instead of silently switching to normal 4K pages and updated the documentation.

Using bench_obmalloc.py from the issue I get

Benchmark Default Hugepages Change
arena_pressure 0.717s 0.477 -33.5%
mixed_sizes 0.213s 0.156 -27.0%
list_of_tuples 2.417s 1.876 -22.4%
class_instances 0.224s 0.180 -19.6%
fragmentation 0.250s 0.204 -18.1%
bulk_small_alloc 0.324s 0.266 -18.0%
random_walk 1.364s 1.161 -14.8%
dict_churn 0.123s 0.122 -1.1%

for an AMD64 VS2026 release build (no PGO) on my PC (Haswell i5-4570, Windows 10).


📚 Documentation preview 📚: https://cpython-previews--144928.org.readthedocs.build/

@chris-eibl
Copy link
Member Author

Skipping news because that's already covered by @pablogsal 's previous PRs.

@chris-eibl

This comment was marked as outdated.

@bedevere-bot

This comment was marked as outdated.

@chris-eibl

This comment was marked as outdated.

@python python deleted a comment from bedevere-bot Feb 24, 2026
@python python deleted a comment from bedevere-bot Feb 24, 2026
Copy link
Member

@pablogsal pablogsal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for working in this 🤘

// but without having all privileges adjusted (ERROR_NOT_ALL_ASSIGNED).
BOOL status = AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL);
DWORD error = GetLastError();
if (!status || (error != ERROR_SUCCESS))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I am not missing anything seems that the MSDN docs state that AdjustTokenPrivileges returns nonzero (success) even when not all privileges were adjusted: we correctly handle this via GetLastError(). However, the error message "failed to obtain SeLockMemoryPrivilege for huge pages" doesn’t distinguish between:

  • The token adjustment API failing entirely
  • The privilege simply not being held

The second case is the common, expected failure mode (user just doesn’t have the privilege). A more actionable error message for that case would help like perhaps "SeLockMemoryPrivilege not held; grant it via Local Security Policy or disable PYTHON_PYMALLOC_HUGEPAGES".

@chris-eibl chris-eibl requested a review from FFY00 as a code owner March 23, 2026 22:35
@pablogsal pablogsal enabled auto-merge (squash) March 23, 2026 22:37
@pablogsal pablogsal merged commit 306c556 into python:main Mar 23, 2026
51 checks passed
@chris-eibl chris-eibl deleted the huge_pages_windows branch March 23, 2026 23:21
@bedevere-bot
Copy link

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot WASM Emscripten 3.x (tier-3) has failed when building commit 306c556.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/#/builders/1810/builds/2113) and take a look at the build logs.
  4. Check if the failure is related to this commit (306c556) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/#/builders/1810/builds/2113

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 15, done.        
remote: Counting objects:   6% (1/15)        
remote: Counting objects:  13% (2/15)        
remote: Counting objects:  20% (3/15)        
remote: Counting objects:  26% (4/15)        
remote: Counting objects:  33% (5/15)        
remote: Counting objects:  40% (6/15)        
remote: Counting objects:  46% (7/15)        
remote: Counting objects:  53% (8/15)        
remote: Counting objects:  60% (9/15)        
remote: Counting objects:  66% (10/15)        
remote: Counting objects:  73% (11/15)        
remote: Counting objects:  80% (12/15)        
remote: Counting objects:  86% (13/15)        
remote: Counting objects:  93% (14/15)        
remote: Counting objects: 100% (15/15)        
remote: Counting objects: 100% (15/15), done.        
remote: Compressing objects:  16% (1/6)        
remote: Compressing objects:  33% (2/6)        
remote: Compressing objects:  50% (3/6)        
remote: Compressing objects:  66% (4/6)        
remote: Compressing objects:  83% (5/6)        
remote: Compressing objects: 100% (6/6)        
remote: Compressing objects: 100% (6/6), done.        
remote: Total 8 (delta 7), reused 2 (delta 2), pack-reused 0 (from 0)        
From https://github.com/python/cpython
 * branch                    main       -> FETCH_HEAD
Note: switching to '306c556fdbe7034c9a6d87516534eecdb911ad11'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 306c556fdbe gh-144319: obtain SeLockMemoryPrivilege on Windows (#144928)
Switched to and reset branch 'main'

configure: WARNING: no system libmpdec found; falling back to pure-Python version for the decimal module

In file included from ../../Include/internal/pycore_dict.h:11,
                 from ../../Objects/typeobject.c:8:
In function ‘Py_DECREF_MORTAL’,
    inlined from ‘PyStackRef_CLOSE’ at ../../Include/internal/pycore_stackref.h:680:9,
    inlined from ‘_PyThreadState_PopCStackRef’ at ../../Include/internal/pycore_stackref.h:788:5,
    inlined from ‘vectorcall_maybe’ at ../../Objects/typeobject.c:3117:9:
../../Include/internal/pycore_object.h:456:8: warning: array subscript 0 is outside array bounds of ‘PyObject[0]’ {aka ‘struct _object[]’} [-Warray-bounds]
  456 |     if (--op->ob_refcnt == 0) {
      |        ^

v24.14.0 is already installed.
configure: ../../../../configure 'CFLAGS=-DPY_CALL_TRAMPOLINE -sUSE_BZIP2' PKG_CONFIG=pkg-config --host=wasm32-emscripten --build=x86_64-pc-linux-gnu --with-build-python=/home/emscripten/buildarea/3.x.rkm-emscripten.emscripten/build/cross-build/build/python --without-pymalloc --disable-shared --disable-ipv6 --enable-big-digits=30 --enable-wasm-dynamic-linking --prefix=/home/emscripten/emsdk-versions/4.0.12/prefix

In file included from ../../../../Modules/_remote_debugging/module.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../Modules/_remote_debugging/object_reading.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
1 warning generated.
In file included from ../../../../Modules/_remote_debugging/code_objects.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../../Modules/_remote_debugging/frames.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../Modules/_remote_debugging/frame_cache.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11 warning generated.
 warning generated.
In file included from ../../../../Modules/_remote_debugging/threads.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../../Modules/_remote_debugging/binary_io_writer.c:13:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../Modules/_remote_debugging/asyncio.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../Modules/_remote_debugging/binary_io_reader.c:1086:55: warning: comparison of integers of different signs: 'Py_ssize_t' (aka 'long') and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
 1086 |             if (replayed % PROGRESS_CALLBACK_INTERVAL < count) {
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
In file included from ../../../../Modules/_remote_debugging/binary_io_reader.c:13:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
1 warning generated.
2 warnings generated.
In file included from ../../../../Modules/_remote_debugging/subprocess.c:8:
In file included from ../../../../Modules/_remote_debugging/_remote_debugging.h:34:
../../../../Modules/_remote_debugging/../../Python/remote_debug.h:165:1: warning: unused function '_Py_RemoteDebug_ValidatePyRuntimeCookie' [-Wunused-function]
  165 | _Py_RemoteDebug_ValidatePyRuntimeCookie(proc_handle_t *handle, uintptr_t address)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../Modules/_remote_debugging/subprocess.c:100:1: warning: unused function 'find_children_bfs' [-Wunused-function]
  100 | find_children_bfs(pid_t target_pid, int recursive,
      | ^~~~~~~~~~~~~~~~~
2 warnings generated.
../../../../Modules/_hacl/Lib_Memzero0.c:66:6: warning: "Your platform does not support any safe implementation of memzero -- consider a pull request!" [-W#warnings]
   66 |     #warning "Your platform does not support any safe implementation of memzero -- consider a pull request!"
      |      ^
1 warning generated.
../../../../Modules/socketmodule.c:4358:33: warning: comparison of integers of different signs: '__size_t' (aka 'unsigned long') and '__ptrdiff_t' (aka 'long') [-Wsign-compare]
 4358 |          cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
  358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../Modules/socketmodule.c:4411:33: warning: comparison of integers of different signs: '__size_t' (aka 'unsigned long') and '__ptrdiff_t' (aka 'long') [-Wsign-compare]
 4411 |          cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
  358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../Modules/socketmodule.c:5064:54: warning: comparison of integers of different signs: '__size_t' (aka 'unsigned long') and '__ptrdiff_t' (aka 'long') [-Wsign-compare]
 5064 |             cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
      |                                                      ^~~~~~~~~~~~~~~~~~~~~~~~
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR'
  358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
../../../../Modules/_sqlite/connection.c:2303:19: warning: result of comparison of constant 9223372036854775807 with expression of type 'Py_ssize_t' (aka 'long') is always false [-Wtautological-constant-out-of-range-compare]
 2303 |     if (data->len > 9223372036854775807) {  // (1 << 63) - 1
      |         ~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
1 warning generated.
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
   83 | #  define htobe16(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:35:9: note: previous definition is here
   35 | #define htobe16(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
   84 | #  define htole16(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:41:9: note: previous definition is here
   41 | #define htole16(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
   85 | #  define be16toh(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:36:9: note: previous definition is here
   36 | #define be16toh(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
   86 | #  define le16toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:42:9: note: previous definition is here
   42 | #define le16toh(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
   88 | #  define htobe32(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:37:9: note: previous definition is here
   37 | #define htobe32(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
   89 | #  define htole32(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:43:9: note: previous definition is here
   43 | #define htole32(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
   90 | #  define be32toh(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:38:9: note: previous definition is here
   38 | #define be32toh(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
   91 | #  define le32toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:44:9: note: previous definition is here
   44 | #define le32toh(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
   93 | #  define htobe64(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:39:9: note: previous definition is here
   39 | #define htobe64(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
   94 | #  define htole64(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:45:9: note: previous definition is here
   45 | #define htole64(x) (uint64_t)(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
   95 | #  define be64toh(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:40:9: note: previous definition is here
   40 | #define be64toh(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/md5module.c:30:
In file included from ../../../../Modules/_hacl/Hacl_Hash_MD5.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
   96 | #  define le64toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:46:9: note: previous definition is here
   46 | #define le64toh(x) (uint64_t)(x)
      |         ^
12 warnings generated.
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
   83 | #  define htobe16(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:35:9: note: previous definition is here
   35 | #define htobe16(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
   84 | #  define htole16(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:41:9: note: previous definition is here
   41 | #define htole16(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
   85 | #  define be16toh(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:36:9: note: previous definition is here
   36 | #define be16toh(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
   86 | #  define le16toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:42:9: note: previous definition is here
   42 | #define le16toh(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
   88 | #  define htobe32(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:37:9: note: previous definition is here
   37 | #define htobe32(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
   89 | #  define htole32(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:43:9: note: previous definition is here
   43 | #define htole32(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
   90 | #  define be32toh(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:38:9: note: previous definition is here
   38 | #define be32toh(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
   91 | #  define le32toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:44:9: note: previous definition is here
   44 | #define le32toh(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
   93 | #  define htobe64(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:39:9: note: previous definition is here
   39 | #define htobe64(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
   94 | #  define htole64(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:45:9: note: previous definition is here
   45 | #define htole64(x) (uint64_t)(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
   95 | #  define be64toh(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:40:9: note: previous definition is here
   40 | #define be64toh(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/sha1module.c:28:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA1.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
   96 | #  define le64toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:46:9: note: previous definition is here
   46 | #define le64toh(x) (uint64_t)(x)
      |         ^
12 warnings generated.
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
   83 | #  define htobe16(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:35:9: note: previous definition is here
   35 | #define htobe16(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
   84 | #  define htole16(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:41:9: note: previous definition is here
   41 | #define htole16(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
   85 | #  define be16toh(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:36:9: note: previous definition is here
   36 | #define be16toh(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
   86 | #  define le16toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:42:9: note: previous definition is here
   42 | #define le16toh(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
   88 | #  define htobe32(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:37:9: note: previous definition is here
   37 | #define htobe32(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
   89 | #  define htole32(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:43:9: note: previous definition is here
   43 | #define htole32(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
   90 | #  define be32toh(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:38:9: note: previous definition is here
   38 | #define be32toh(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
   91 | #  define le32toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:44:9: note: previous definition is here
   44 | #define le32toh(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
   93 | #  define htobe64(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:39:9: note: previous definition is here
   39 | #define htobe64(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
   94 | #  define htole64(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:45:9: note: previous definition is here
   45 | #define htole64(x) (uint64_t)(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
   95 | #  define be64toh(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:40:9: note: previous definition is here
   40 | #define be64toh(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/sha2module.c:31:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA2.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
   96 | #  define le64toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:46:9: note: previous definition is here
   46 | #define le64toh(x) (uint64_t)(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
   83 | #  define htobe16(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:35:9: note: previous definition is here
   35 | #define htobe16(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
   84 | #  define htole16(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:41:9: note: previous definition is here
   41 | #define htole16(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
   85 | #  define be16toh(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:36:9: note: previous definition is here
   36 | #define be16toh(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
   86 | #  define le16toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:42:9: note: previous definition is here
   42 | #define le16toh(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
   88 | #  define htobe32(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:37:9: note: previous definition is here
   37 | #define htobe32(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
   89 | #  define htole32(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:43:9: note: previous definition is here
   43 | #define htole32(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
   90 | #  define be32toh(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:38:9: note: previous definition is here
   38 | #define be32toh(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
   91 | #  define le32toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:44:9: note: previous definition is here
   44 | #define le32toh(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
   93 | #  define htobe64(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:39:9: note: previous definition is here
   39 | #define htobe64(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
   94 | #  define htole64(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:45:9: note: previous definition is here
   45 | #define htole64(x) (uint64_t)(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
   95 | #  define be64toh(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:40:9: note: previous definition is here
   40 | #define be64toh(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/sha3module.c:29:
In file included from ../../../../Modules/_hacl/Hacl_Hash_SHA3.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
   96 | #  define le64toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:46:9: note: previous definition is here
   46 | #define le64toh(x) (uint64_t)(x)
      |         ^
12 warnings generated.
12 warnings generated.
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:83:11: warning: 'htobe16' macro redefined [-Wmacro-redefined]
   83 | #  define htobe16(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:35:9: note: previous definition is here
   35 | #define htobe16(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:84:11: warning: 'htole16' macro redefined [-Wmacro-redefined]
   84 | #  define htole16(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:41:9: note: previous definition is here
   41 | #define htole16(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:85:11: warning: 'be16toh' macro redefined [-Wmacro-redefined]
   85 | #  define be16toh(x) __builtin_bswap16(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:36:9: note: previous definition is here
   36 | #define be16toh(x) __bswap16(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:86:11: warning: 'le16toh' macro redefined [-Wmacro-redefined]
   86 | #  define le16toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:42:9: note: previous definition is here
   42 | #define le16toh(x) (uint16_t)(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:88:11: warning: 'htobe32' macro redefined [-Wmacro-redefined]
   88 | #  define htobe32(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:37:9: note: previous definition is here
   37 | #define htobe32(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:89:11: warning: 'htole32' macro redefined [-Wmacro-redefined]
   89 | #  define htole32(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:43:9: note: previous definition is here
   43 | #define htole32(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:90:11: warning: 'be32toh' macro redefined [-Wmacro-redefined]
   90 | #  define be32toh(x) __builtin_bswap32(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:38:9: note: previous definition is here
   38 | #define be32toh(x) __bswap32(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:91:11: warning: 'le32toh' macro redefined [-Wmacro-redefined]
   91 | #  define le32toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:44:9: note: previous definition is here
   44 | #define le32toh(x) (uint32_t)(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:93:11: warning: 'htobe64' macro redefined [-Wmacro-redefined]
   93 | #  define htobe64(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:39:9: note: previous definition is here
   39 | #define htobe64(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:94:11: warning: 'htole64' macro redefined [-Wmacro-redefined]
   94 | #  define htole64(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:45:9: note: previous definition is here
   45 | #define htole64(x) (uint64_t)(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:95:11: warning: 'be64toh' macro redefined [-Wmacro-redefined]
   95 | #  define be64toh(x) __builtin_bswap64(x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:40:9: note: previous definition is here
   40 | #define be64toh(x) __bswap64(x)
      |         ^
In file included from ../../../../Modules/blake2module.c:60:
In file included from ../../../../Modules/_hacl/Hacl_Hash_Blake2s.h:35:
In file included from ../../../../Modules/_hacl/include/krml/internal/types.h:89:
../../../../Modules/_hacl/include/krml/lowstar_endianness.h:96:11: warning: 'le64toh' macro redefined [-Wmacro-redefined]
   96 | #  define le64toh(x) (x)
      |           ^
/home/emscripten/emsdk-versions/4.0.12/emsdk/upstream/emscripten/cache/sysroot/include/endian.h:46:9: note: previous definition is here
   46 | #define le64toh(x) (uint64_t)(x)
      |         ^
12 warnings generated.
Created /home/emscripten/buildarea/3.x.rkm-emscripten.emscripten/build/cross-build/wasm32-emscripten/build/python/python3.15.zip (3.81 MiB)
mcc: warning: EXPORTED_FUNCTIONS is not valid with LINKABLE set (normally due to SIDE_MODULE=1/MAIN_MODULE=1) since all functions are exported this mode.  To export only a subset use SIDE_MODULE=2/MAIN_MODULE=2 [-Wunused-command-line-argument]

�[33mtest.test_asyncio.test_base_events skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_buffered_proto skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_context skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_eager_task_factory skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_events skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_free_threading skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_futures skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_futures2 skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_graph skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_locks skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_pep492 skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_proactor_events skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_protocols skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_queues skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_runners skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_selector_events skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_sendfile skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_server skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_server_context skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_sock_lowlevel skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_ssl skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_sslproto skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_staggered skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_streams skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_subprocess skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_taskgroups skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_tasks skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_threads skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_timeouts skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_tools skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_transports skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_unix_events skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_waitfor skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_windows_events skipped -- requires socket support�[0m
�[33mtest.test_asyncio.test_windows_utils skipped -- requires socket support�[0m
�[33mtest.test_concurrent_futures.test_as_completed skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_deadlock skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_future skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_init skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_interpreter_pool skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_process_pool skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_shutdown skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_thread_pool skipped -- requires threading support�[0m
�[33mtest.test_concurrent_futures.test_wait skipped -- requires threading support�[0m
�[33mtest.test_gdb.test_backtrace skipped -- Couldn't find gdb program on the path: [Errno 138] emscripten does not support processes.�[0m
�[33mtest.test_gdb.test_cfunction skipped -- Couldn't find gdb program on the path: [Errno 138] emscripten does not support processes.�[0m
�[33mtest.test_gdb.test_cfunction_full skipped -- Couldn't find gdb program on the path: [Errno 138] emscripten does not support processes.�[0m
�[33mtest.test_gdb.test_misc skipped -- Couldn't find gdb program on the path: [Errno 138] emscripten does not support processes.�[0m
�[33mtest.test_gdb.test_pretty_print skipped -- Couldn't find gdb program on the path: [Errno 138] emscripten does not support processes.�[0m
�[33mtest.test_multiprocessing_fork.test_manager skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_fork.test_misc skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_fork.test_processes skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_fork.test_threads skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_forkserver.test_manager skipped -- requires working os.fork()�[0m
�[33mtest.test_multiprocessing_forkserver.test_misc skipped -- requires working os.fork()�[0m
�[33mtest.test_multiprocessing_forkserver.test_preload skipped -- requires working os.fork()�[0m
�[33mtest.test_multiprocessing_forkserver.test_processes skipped -- requires working os.fork()�[0m
�[33mtest.test_multiprocessing_forkserver.test_threads skipped -- requires working os.fork()�[0m
�[33mtest.test_multiprocessing_spawn.test_manager skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_spawn.test_misc skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_spawn.test_processes skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_multiprocessing_spawn.test_threads skipped -- No module named '_multiprocessing'�[0m
�[33mtest.test_os.test_windows skipped -- Win32 specific tests�[0m
�[33mtest__interpchannels skipped -- No module named '_interpchannels'�[0m
�[33mtest__interpreters skipped -- No module named '_interpreters'�[0m
�[33mtest_android skipped -- Android-specific�[0m
�[33mtest_apple skipped -- Apple-specific�[0m
�[33mtest_argparse skipped -- test module requires subprocess�[0m
�[33mtest_asyncgen skipped -- requires socket support�[0m
�[33mtest_clinic skipped -- test module requires subprocess�[0m
�[33mtest_cmd_line skipped -- test module requires subprocess�[0m
�[33mtest_crossinterp skipped -- No module named '_interpreters'�[0m
�[33mtest_curses skipped -- No module named '_curses'�[0m
�[33mtest_dbm_gnu skipped -- No module named '_gdbm'�[0m
�[33mtest_dbm_ndbm skipped -- No module named '_dbm'�[0m
�[33mtest_devpoll skipped -- test works only on Solaris OS family�[0m
�[33mtest_docxmlrpc skipped -- requires socket support�[0m
�[33mtest_dtrace skipped -- test module requires subprocess�[0m
�[33mtest_embed skipped -- test module requires subprocess�[0m
�[33mtest_epoll skipped -- test works only on Linux 2.6�[0m
�[33mtest_faulthandler skipped -- test module requires subprocess�[0m
�[33mtest_file_eintr skipped -- test module requires subprocess�[0m
�[33mtest_fork1 skipped -- test module requires working os.fork�[0m
�[33mtest_frame_pointer_unwind skipped -- test requires subprocess support�[0m
�[33mtest_free_threading skipped -- GIL enabled�[0m
�[33mtest_ftplib skipped -- requires socket support�[0m
�[33mtest_generated_cases skipped -- test module requires subprocess�[0m
�[33mtest_getopt skipped -- test module requires subprocess�[0m
�[33mtest_grp skipped -- No module named 'grp'�[0m
�[33mtest_httplib skipped -- requires socket support�[0m
�[33mtest_httpservers skipped -- requires socket support�[0m
�[33mtest_idle skipped -- No module named '_tkinter'�[0m
�[33mtest_imaplib skipped -- requires socket support�[0m
�[33mtest_kqueue skipped -- test works only on BSD�[0m
�[33mtest_launcher skipped -- test only applies to Windows�[0m
�[33mtest_lzma skipped -- No module named '_lzma'�[0m
�[33mtest_mmap skipped -- incompatible with Emscripten's mmap emulation.�[0m
�[33mtest_msvcrt skipped -- windows related tests�[0m
�[33mtest_multiprocessing_main_handling skipped -- No module named '_multiprocessing'�[0m
�[33mtest_openpty skipped -- os.openpty() not available.�[0m
�[33mtest_optparse skipped -- test module requires subprocess�[0m
�[33mtest_perf_profiler skipped -- test module requires subprocess�[0m
�[33mtest_perfmaps skipped -- perf trampoline profiling not supported�[0m
�[33mtest_poll skipped -- requires socket support�[0m
�[33mtest_poplib skipped -- requires socket support�[0m
�[33mtest_pty skipped -- pty is not available on this platform�[0m
�[33mtest_pwd skipped -- No module named 'pwd'�[0m
�[33mtest_queue skipped -- requires threading support�[0m
�[33mtest_readline skipped -- No module named 'readline'�[0m
�[33mtest_regrtest skipped -- test module requires subprocess�[0m
�[33mtest_remote_pdb skipped -- remote debugging is disabled�[0m
�[33mtest_repl skipped -- test module requires subprocess�[0m
�[33mtest_resource skipped -- No module named 'resource'�[0m
�[33mtest_samply_profiler skipped -- test module requires subprocess�[0m
�[33mtest_select skipped -- requires socket support�[0m
�[33mtest_selectors skipped -- Cannot create socketpair on Emscripten/WASI.�[0m
�[33mtest_smtplib skipped -- requires socket support�[0m
�[33mtest_smtpnet skipped -- No module named '_ssl'�[0m
�[33mtest_socket skipped -- requires socket support�[0m
�[33mtest_socketserver skipped -- No socket support�[0m
�[33mtest_ssl skipped -- No module named '_ssl'�[0m
�[33mtest_startfile skipped -- object <module 'os' (frozen)> has no attribute 'startfile'�[0m
�[33mtest_subprocess skipped -- test module requires subprocess�[0m
�[33mtest_syslog skipped -- No module named 'syslog'�[0m
�[33mtest_tcl skipped -- No module named '_tkinter'�[0m
�[33mtest_thread skipped -- requires threading support�[0m
�[33mtest_threadedtempfile skipped -- requires threading support�[0m
�[33mtest_threading skipped -- requires threading support�[0m
�[33mtest_threading_local skipped -- requires threading support�[0m
�[33mtest_tkinter skipped -- No module named '_tkinter'�[0m
�[33mtest_tools skipped -- test module requires subprocess�[0m
�[33mtest_ttk skipped -- No module named '_tkinter'�[0m
�[33mtest_ttk_textonly skipped -- No module named '_tkinter'�[0m
�[33mtest_turtle skipped -- No module named '_tkinter'�[0m
�[33mtest_urllib2 skipped -- requires socket support�[0m
�[33mtest_urllib2_localnet skipped -- requires socket support�[0m
�[33mtest_urllib2net skipped -- No socket support�[0m
�[33mtest_urllibnet skipped -- No socket support�[0m
�[33mtest_venv skipped -- venv is not available on this platform�[0m
�[33mtest_wait3 skipped -- requires working os.fork()�[0m
�[33mtest_wait4 skipped -- requires working os.fork()�[0m
�[33mtest_webbrowser skipped -- requires threading support�[0m
�[33mtest_winapi skipped -- No module named '_winapi'�[0m
�[33mtest_winconsoleio skipped -- test only relevant on win32�[0m
�[33mtest_winreg skipped -- No module named 'winreg'�[0m
�[33mtest_winsound skipped -- No module named 'winsound'�[0m
�[33mtest_wmi skipped -- No module named '_wmi'�[0m
�[33mtest_wsgiref skipped -- requires socket support�[0m
�[33mtest_xml_dom_xmlbuilder skipped -- requires socket support�[0m
�[33mtest_xmlrpc skipped -- requires socket support�[0m
�[33mtest_xpickle skipped -- Use of the 'xpickle' resource not enabled�[0m
�[33mtest_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run�[0m
�[33mtest_zstd skipped -- No module named '_zstd'�[0m

CuriousLearner added a commit to CuriousLearner/cpython that referenced this pull request Mar 24, 2026
…on into fix-pythongh-138577

* 'fix-pythongh-138577' of github.com:CuriousLearner/cpython:
  pythongh-146202: Create tmp_dir in regrtest worker (python#146347)
  pythongh-144319: obtain SeLockMemoryPrivilege on Windows (python#144928)
  pythongh-146199: Fix error handling in `code_richcompare` when `PyObject_RichCompareBool` fails (python#146200)
  pythongh-146197: Include a bit more information in sys._emscripten_info.runtime (python#146346)
  pythongh-135871: Reload lock internal state while spinning in `PyMutex_LockTimed` (pythongh-146064)
  pythongh-145719: Add `.efi` file detection in `mimetypes` (python#145720)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants