Skip to content

Releases: WebAssembly/wasi-sdk

wasi-sdk-8

31 Oct 17:47
a944460
Compare
Choose a tag to compare

Note: Path names within the wask-sdk tar archive no longer contain opt/wasi. This means that paths to WASI tools will all be shorter, but build scripts will need to be updated accordingly.

In this release, wasi-libc includes optimizations to avoid linking in command-line argument initialization code in programs that don't use command-line arguments (eg. `int main(void)), and similar to avoid linking in environment-variable initalization code in programs that don't access environment variables.

And, the wasi-sdk installation now includes common tools such as nm, ar, strings, and others.

wasi-sdk-7

02 Oct 19:03
Compare
Choose a tag to compare

Changes to wasi-libc 8df0d4c..c9a5733:

Set the MALLOC_ALIGNMENT to 16.
When checking undefined symbol list, ignore certain llvm buildins
Fix a warning about a spurious redundant static keyword.
Update docs to say "libc" rather than "sysroot" where applicable.
WASI libc's dirent does have t_type, so define _DIRENT_HAVE_D_TYPE.
Fix DIRENT_HAVE_D* macros.
Disable the lseek optimization in C++.
Add Azure Pipelines definition (#78)
Update to musl 1.1.23.

Changes to llvm:

use release tag llvmorg-9.0.0

Changes to wasi-sdk:

Documentation updates

wasi-sdk-6

05 Aug 20:46
5e25836
Compare
Choose a tag to compare

llvm changes: use 8.0.1 release
wasi-libc changes: renamed from wasi-sysroot

    Fix predefined macros check after recent clang change
    Don't declare `realpath` or pseudo-terminal functions.
    Update title in README.md
    Ensure argv is null terminated.
    Don't declare popen and pclose.
    Don't install <sys/xattr.h>, which isn't supported on WASI.
    Remove more declarations for symbols that aren't defined.
    Don't declare lockfile and timezone functions.
    Implement truncate(2).
    Add complex builtins for creal and cimag too.
    Use builtin functions rather than portable libm implementations.
    Don't create dummy libs for libc++/libc++abi (#68)
    Implement more functions, remove more unimplemented headers.
    Move the mode_t macros into their own header.
    Define O_TTY_INIT.
    Update to libpreopen 8835639f27fc42d32096d59d294a0bbb857dc368.
    Fix fmemopen and friends to use the correct SEEK_* values.
    Use the compiler's real/imag operators instead of union type punning.
    Remove __fpclassify and __signbit definitions.
    Use the compiler builtins for isless etc.
    Move the SEEK_* macros into their own header and use it from fcntl.h.
    Switch from the cloudlibc inet_pton etc. to the musl versions.
    Don't declare dup in unistd.h.
    Re-enable '%s' in strftime.
    Rename __wasilibc_rmfileat to __wasilibc_unlinkat.
    Add __restrict qualifiers to the fstatat declaration.
    Ensure that `environ` is always initialized.
    Fix the return value of the first call to uselocale.
    Move abort.c out of libc-bottom-half and into basics.
    Document that WASM_NM and WASM_AR may also be required
   use ENOMEM instead of EINVAL, set EINVAL if length == 0
    move to __builtin_add_overflow
    code deduplication
    fix comment to correspond existing coding style
    fix mmap overflow and some other stuff

sdk changes:

    llvm project: use tag llvmorg-8.0.1 (#50)
    Update wasi-libc submodule
    Add Azure Pipelines configuration for Linux and macOS
    Use *_LIBDIR_SUFFIX cmake configs to implement multi-arch.
    Use $(MAKE) to building wasi-libc to inherit -j flag (#44)
    Use ninja generator when using cmake (#42)
    Roll wasi-libc to get compatibility with llvm-9
    Don't pass `-j` files to sub-`make` (#40)
    Disable -fPIC for compiler-rt and libc++abi
    Rename sysroot to wasi-sysroot.
    Update to latest wasi-libc (formerly wasi-sysroot) and llvm 8.0.1.
    Update to the latest LLVM release/8.x release branch
    Enable LIBCXXABI_SILENT_TERMINATE for libc++abi.

wasi-sdk-5

02 May 23:25
Compare
Choose a tag to compare

wasi-sysroot changes:

Makefile: Don't mix phony targets with directory names
delete a space in predefined-macros.txt
replace some macros with its builtins analogs
rename printf_no_Lf to __small_printf
Define TIME_UTC to be 1.
Define CLOCKS_PER_SEC to have type clock_t.
Optimize lseek in the `tell` case.
Say "wasm32-wasi" rather than "wasm32-unknown-wasi".
Declare getentropy in <sys/random.h>
Disable unused fields in FILE and __libc.
Add vfwprintf.c to the printscan list.
Implement FD_SET, FD_CLR, etc.
Remove capsicum.h; WASI libc doesn't support that API, even internally.
Make calloc set ENOMEM when failing due to overflow.
Make the strerror message for ESUCCESS (0) be "Success".
Implement reallocarray.
Update README.md
Add missing asctime symbol
Fix floatscan no long double usage (#21)
Remove the Linux-specific <sys/signalfd.h> header.
Declare getrusage.
Format changes to musl code to fit musl's style.
Fixes #20
gitignore build

sdk changes:
Say "wasm32-wasi" instead of "wasm32-unknown-wasi" in wasi-sdk.
Distribute versions of config.sub and config.guess with wasm and wasi
support. Fixes #16.

Create a tarball of the clang-rt builtins in tar_from_installation.sh
These builtins are required to use WASI with an existing clang
installation.

Updates to C++ libs in sysroot

19 Apr 17:32
Compare
Choose a tag to compare
latest wasi-sysroot. Changes:

- Fixes C++ <iostream> with -fno-exceptions
- Fixes the remaining issue in #6 with using newer LLVM versions
- Adds an API for preopened directory lookups.
- Fixes <inttypes.h> macros (#13).
- disable thread APIs in libcxx and libcxxabi

Add libpropen syscalls

25 Mar 18:10
wasi-sdk-3
5399e51
Compare
Choose a tag to compare
wasi-sdk-3

bump sysroot submodule for libpreopen syscalls

wasi-sdk-2

20 Mar 18:15
wasi-sdk-2
95e02e8
Compare
Choose a tag to compare
LLVM 8.0.0 and reference sysroot improvements

wasi-sdk-1

07 Mar 01:18
Compare
Choose a tag to compare
first release that builds working binaries