Skip to content

Tags: WebAssembly/wasi-libc

Tags

wasi-sdk-32

Toggle wasi-sdk-32's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Test with LLVM 22 in CI, fix a setjmp/longjmp issue (#772)

This commit adds a new CI builder for LLVM 22, distinct from preexisting
builders using LLVM 20. This notably exposes a bug where setjmp/longjmp
needed a fix because the method of definition of `__c_setjmp`, the tag
used, changed in LLVM 22.

> **Note**: this is temporarily built on
#770 and
#771

wasi-sdk-31

Toggle wasi-sdk-31's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Test with LLVM 22 in CI, fix a setjmp/longjmp issue (#772)

This commit adds a new CI builder for LLVM 22, distinct from preexisting
builders using LLVM 20. This notably exposes a bug where setjmp/longjmp
needed a fix because the method of definition of `__c_setjmp`, the tag
used, changed in LLVM 22.

> **Note**: this is temporarily built on
#770 and
#771

wasi-sdk-30

Toggle wasi-sdk-30's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Remove now-stray `MAKE_DIRECTORY` call (#723)

Forgotten from #722

wasi-sdk-29

Toggle wasi-sdk-29's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
wasip2: Fix `poll`'s behavior on invalid fds (#680)

Skip negative fds, but fail on invalid fds.

wasi-sdk-28

Toggle wasi-sdk-28's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
poll_wasip1: ignore entries with no events requested (#630)

OpenSSH allocates a pollfd structure for all of its channels, but
doesn't request events for all of them all the time. If it wants to
check a subset, it clears events, but keeps nfds at the max. This causes
the wasip1 implementation to incorrectly abort as it assumes that if
POLLRDNORM & POLLWRNORM didn't match, it must be due to requesting
unsupported events, and then it errors out with ENOSYS. Simply ignore
the case where no events are requested and it all works fine.

wasi-sdk-27

Toggle wasi-sdk-27's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Refactor stub pthread library and enable unconditionally (#602)

This PR changes the layout of the stub pthread library to match that of
libc-top-half: splits it into (mostly) one file per function, and
ensures the same API is exposed from both libraries, adding stub
functions as necessary.

This PR also removes `-lwasi-emulated-pthread` as well as
`-D_WASI_EMULATED_PTHREAD` and enables this functionality
unconditionally, seeing as this is necessary for building libc++ with
threading enabled.

It adds a flag `-D_WASI_STRICT_PTHREAD` that causes thread creation
functions (`pthread_create`, `pthread_detach`, `pthread_join`) to be
defined as a macro causing a compile error, which can be used to locate
the parts of a codebase requiring changes for the single thread model.

Specifically, after this commit, the two targets `wasm32-wasip1` and
`wasm32-wasip1-threads` differ as follows (cleaned up for clarity):

```diff
--- expected/wasm32-wasip1/defined-symbols.txt
+++ expected/wasm32-wasip1-threads/defined-symbols.txt
+flockfile
+ftrylockfile
+funlockfile
+sem_destroy
+sem_getvalue
+sem_init
+sem_post
+sem_timedwait
+sem_trywait
+sem_wait
+wasi_thread_start
```

```diff
--- expected/wasm32-wasip1/predefined-macros.txt
+++ expected/wasm32-wasip1-threads/predefined-macros.txt
+#define _REENTRANT 1
+#define SEM_NSEMS_MAX 256
+#define SEM_VALUE_MAX 0x7fffffff
+#define __wasm_atomics__ 1
+#define __wasm_bulk_memory__ 1
```

wasi-sdk-26

Toggle wasi-sdk-26's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Refactor stub pthread library and enable unconditionally (#602)

This PR changes the layout of the stub pthread library to match that of
libc-top-half: splits it into (mostly) one file per function, and
ensures the same API is exposed from both libraries, adding stub
functions as necessary.

This PR also removes `-lwasi-emulated-pthread` as well as
`-D_WASI_EMULATED_PTHREAD` and enables this functionality
unconditionally, seeing as this is necessary for building libc++ with
threading enabled.

It adds a flag `-D_WASI_STRICT_PTHREAD` that causes thread creation
functions (`pthread_create`, `pthread_detach`, `pthread_join`) to be
defined as a macro causing a compile error, which can be used to locate
the parts of a codebase requiring changes for the single thread model.

Specifically, after this commit, the two targets `wasm32-wasip1` and
`wasm32-wasip1-threads` differ as follows (cleaned up for clarity):

```diff
--- expected/wasm32-wasip1/defined-symbols.txt
+++ expected/wasm32-wasip1-threads/defined-symbols.txt
+flockfile
+ftrylockfile
+funlockfile
+sem_destroy
+sem_getvalue
+sem_init
+sem_post
+sem_timedwait
+sem_trywait
+sem_wait
+wasi_thread_start
```

```diff
--- expected/wasm32-wasip1/predefined-macros.txt
+++ expected/wasm32-wasip1-threads/predefined-macros.txt
+#define _REENTRANT 1
+#define SEM_NSEMS_MAX 256
+#define SEM_VALUE_MAX 0x7fffffff
+#define __wasm_atomics__ 1
+#define __wasm_bulk_memory__ 1
```

wasi-sdk-25

Toggle wasi-sdk-25's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Adjust Makefile for LLVM trunk (20) as of 2024-12-02 (#556)

llvm/llvm-project@c3536b2

wasi-sdk-24

Toggle wasi-sdk-24's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Use the correct compiler-rt (#517)

eg. when a user specifies non-default -resource-dir.

cf. WebAssembly/wasi-sdk#446

wasi-sdk-23

Toggle wasi-sdk-23's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
iconv/wctomb: fix memory corruption related to CURRENT_UTF8 implement…

…ation (#511)