wasm-micro-runtime/core/iwasm
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
..
aot Improve stack trace dump and fix coding guideline CI (#2599) 2023-09-29 10:52:54 +08:00
common Improve stack trace dump and fix coding guideline CI (#2599) 2023-09-29 10:52:54 +08:00
compilation aot_resolve_stack_sizes: Disable the size check for now (#2608) 2023-09-29 15:30:52 +08:00
doc Add architecture diagram for wasm globals and classic-interp stack frame (#2058) 2023-03-25 09:39:20 +08:00
fast-jit Fix nightly run sanitizer error in Fast JIT (#2601) 2023-09-27 15:41:48 +08:00
include Support muti-module for AOT mode (#2482) 2023-09-28 08:56:11 +08:00
interpreter Fix label index out-of-range references in op_br_table_cache (#2615) 2023-10-03 10:33:00 +08:00
libraries Add Cosmopolitan Libc Platform (#2598) 2023-10-04 21:55:37 +08:00
README.md Add architecture diagram for wasm globals and classic-interp stack frame (#2058) 2023-03-25 09:39:20 +08:00