mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
gh-90473: Decrease recursion limit and skip tests on WASI (GH-92803)
This commit is contained in:
parent
e48ac9c100
commit
137fd3d88a
20 changed files with 109 additions and 14 deletions
|
|
@ -220,10 +220,27 @@ AddType application/wasm wasm
|
|||
|
||||
# WASI (wasm32-wasi)
|
||||
|
||||
WASI builds require [WASI SDK](https://github.com/WebAssembly/wasi-sdk) and
|
||||
currently [wasix](https://github.com/singlestore-labs/wasix) for POSIX
|
||||
WASI builds require [WASI SDK](https://github.com/WebAssembly/wasi-sdk) 15.0+
|
||||
and currently [wasix](https://github.com/singlestore-labs/wasix) for POSIX
|
||||
compatibility stubs.
|
||||
|
||||
## WASI limitations and issues (WASI SDK 15.0)
|
||||
|
||||
A lot of Emscripten limitations also apply to WASI. Noticable restrictions
|
||||
are:
|
||||
|
||||
- Call stack size is limited. Default recursion limit and parser stack size
|
||||
are smaller than in regular Python builds.
|
||||
- ``socket(2)`` cannot create new socket file descriptors. WASI programs can
|
||||
call read/write/accept on a file descriptor that is passed into the process.
|
||||
- ``socket.gethostname()`` and host name resolution APIs like
|
||||
``socket.gethostbyname()`` are not implemented and always fail.
|
||||
- ``chmod(2)`` is not available. It's not possible to modify file permissions,
|
||||
yet. A future version of WASI may provide a limited ``set_permissions`` API.
|
||||
- File locking (``fcntl``) is not available.
|
||||
- ``os.pipe()``, ``os.mkfifo()``, and ``os.mknod()`` are not supported.
|
||||
|
||||
|
||||
# Detect WebAssembly builds
|
||||
|
||||
## Python code
|
||||
|
|
|
|||
|
|
@ -17,3 +17,24 @@ ac_cv_header_sys_resource_h=no
|
|||
|
||||
# undefined symbols / unsupported features
|
||||
ac_cv_func_eventfd=no
|
||||
|
||||
# WASI SDK 15.0 has no pipe syscall.
|
||||
ac_cv_func_pipe=no
|
||||
|
||||
# WASI SDK 15.0 cannot create fifos and special files.
|
||||
ac_cv_func_mkfifo=no
|
||||
ac_cv_func_mkfifoat=no
|
||||
ac_cv_func_mknod=no
|
||||
ac_cv_func_mknodat=no
|
||||
|
||||
# fdopendir() fails on SDK 15.0,
|
||||
# OSError: [Errno 28] Invalid argument: '.'
|
||||
ac_cv_func_fdopendir=no
|
||||
|
||||
# WASIX stubs we don't want to use.
|
||||
ac_cv_func_kill=no
|
||||
|
||||
# WASI sockets are limited to operations on given socket fd and inet sockets.
|
||||
# Disable AF_UNIX and AF_PACKET support, see socketmodule.h.
|
||||
ac_cv_header_sys_un_h=no
|
||||
ac_cv_header_netpacket_packet_h=no
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue