wasm-micro-runtime/core/iwasm/libraries/libc-wasi/sandboxed-system-primitives/src
Gavin Hayes d8ee771e28
Add Cosmopolitan Libc Platform (#2598)
This PR adds the Cosmopolitan Libc platform enabling compatibility with multiple
x86_64 operating systems with the same binary. The platform is similar to the
Linux platform, but for now only x86_64 with interpreter modes are supported.

The only major change to the core is `posix.c/convert_errno()` was rewritten to use
a switch statement. With Cosmopolitan errno values depend on the currently
running operating system, and so they are non-constant and cannot be used in array
designators. However, the `cosmocc` compiler allows non-constant case labels in
switch statements, enabling the new version.

And updated wamr-test-suites script to add `-j <platform>` option. The spec tests
can be ran via `CC=cosmocc ./test_wamr.sh -j cosmopolitan -t classic-interp`
or `CC=cosmocc ./test_wamr.sh -j cosmopolitan -t fast-interp`.
2023-10-04 21:55:37 +08:00
..
blocking_op.c Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
blocking_op.h Implement async termination of blocking thread (#2516) 2023-09-20 18:11:52 +08:00
LICENSE Enable AoT and wamr-sdk, and change arguments of call wasm API (#157) 2020-01-21 13:26:14 +08:00
locking.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
posix.c Add Cosmopolitan Libc Platform (#2598) 2023-10-04 21:55:37 +08:00
posix.h Merge dev/socket into main (#1393) 2022-09-22 21:46:14 +08:00
queue.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
random.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
random.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
README.md Rename "master" branch to "main" 2020-06-27 02:39:47 -07:00
refcount.h Enable gcc-4.8 compilation (#1928) 2023-02-02 19:34:20 +08:00
rights.h Implement part of Berkeley Socket API for libc-wasi (#1036) 2022-03-10 15:13:38 +08:00
ssp_config.h Add Cosmopolitan Libc Platform (#2598) 2023-10-04 21:55:37 +08:00
str.c Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00
str.h Apply clang-format for core/iwasm compilation and libraries (#784) 2021-10-13 15:13:00 +08:00

This directory consists of selected files copied from the [src/libemulator] directory in the cloudabi-utils repository, with minor modifications, along with the accompanying LICENSE file from that repository.

The modifications are marked with WASMTIME_* preprocessor macros.

The files were copied at git revision 223dadc53248552db43e012c67ed08cf416a2b12 which is dated Tue Jun 25 17:22:07 2019 -0700 .