wasm-micro-runtime/core/shared
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
..
coap Apply clang-format for core/shared and product-mini files (#785) 2021-10-14 09:12:07 +08:00
mem-alloc Fix a heap corruption bug in ems realloc (#2279) 2023-06-09 21:36:00 +08:00
platform Add Cosmopolitan Libc Platform (#2598) 2023-10-04 21:55:37 +08:00
utils Remove unnecessary and extra zero length check in mem functions' macro (#2428) 2023-08-08 08:52:25 +08:00