mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2025-05-12 12:41:25 +00:00
cosmopolitan: Update compiler and update platform_internal.h (#3079)
This fixes the cosmopolitan platform. - Switch `build_cosmocc.sh` and platform documentation to explicitly use the x86_64 cosmocc compiler as multi-arch cosmocc won't work here. Older version `cosmocc` just did a x86_64 build. - Add missing items from `platform_internal.h` to fix build.
This commit is contained in:
parent
d815bbc3db
commit
bf9fb2e680
|
@ -55,6 +55,7 @@ typedef pthread_t korp_tid;
|
||||||
typedef pthread_mutex_t korp_mutex;
|
typedef pthread_mutex_t korp_mutex;
|
||||||
typedef pthread_cond_t korp_cond;
|
typedef pthread_cond_t korp_cond;
|
||||||
typedef pthread_t korp_thread;
|
typedef pthread_t korp_thread;
|
||||||
|
typedef pthread_rwlock_t korp_rwlock;
|
||||||
typedef sem_t korp_sem;
|
typedef sem_t korp_sem;
|
||||||
|
|
||||||
#define OS_THREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
#define OS_THREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
||||||
|
@ -67,6 +68,12 @@ typedef int os_file_handle;
|
||||||
typedef DIR *os_dir_stream;
|
typedef DIR *os_dir_stream;
|
||||||
typedef int os_raw_file_handle;
|
typedef int os_raw_file_handle;
|
||||||
|
|
||||||
|
static inline os_file_handle
|
||||||
|
os_get_invalid_handle()
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
#if WASM_DISABLE_WRITE_GS_BASE == 0
|
#if WASM_DISABLE_WRITE_GS_BASE == 0
|
||||||
#if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)
|
#if defined(BUILD_TARGET_X86_64) || defined(BUILD_TARGET_AMD_64)
|
||||||
#define os_writegsbase(base_addr) \
|
#define os_writegsbase(base_addr) \
|
||||||
|
|
|
@ -447,12 +447,12 @@ make
|
||||||
## Cosmopolitan Libc
|
## Cosmopolitan Libc
|
||||||
Currently, only x86_64 architecture with interpreter modes is supported.
|
Currently, only x86_64 architecture with interpreter modes is supported.
|
||||||
|
|
||||||
Clone the Cosmopolitan Libc. Setup `cosmocc` as described in [Getting Started](https://github.com/jart/cosmopolitan/#getting-started) being sure to get it into `PATH`.
|
Setup `cosmocc` as described in [Getting Started](https://github.com/jart/cosmopolitan/#getting-started) being sure to get its `bin` directory into `PATH`.
|
||||||
|
|
||||||
Build iwasm
|
Build iwasm
|
||||||
``` Bash
|
``` Bash
|
||||||
export CC=cosmocc
|
export CC=x86_64-unknown-cosmo-cc
|
||||||
export CXX=cosmoc++
|
export CXX=x86_64-unknown-cosmo-c++
|
||||||
rm -rf build
|
rm -rf build
|
||||||
mkdir build
|
mkdir build
|
||||||
cmake -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1 -B build
|
cmake -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1 -B build
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
# Copyright (C) 2023 Dylibso. All rights reserved.
|
# Copyright (C) 2023 Dylibso. All rights reserved.
|
||||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||||
export CC=cosmocc
|
export CC=x86_64-unknown-cosmo-cc
|
||||||
export CXX=cosmoc++
|
export CXX=x86_64-unknown-cosmo-c++
|
||||||
rm -rf build
|
rm -rf build
|
||||||
mkdir build
|
mkdir build
|
||||||
cmake -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1 -B build
|
cmake -DWAMR_BUILD_INTERP=1 -DWAMR_BUILD_FAST_INTERP=1 -B build
|
||||||
|
|
Loading…
Reference in New Issue
Block a user