Improve cross-compilation and Big-Endian systems support

opam-2.0.0
Vova 3 years ago
parent 8a77fc5622
commit cad20bb192

@ -183,6 +183,8 @@ else()
endif()
target_link_libraries(${OUT_FILE} m3)
if(BUILD_WASI MATCHES "simple")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dd_m3HasWASI")
elseif(BUILD_WASI MATCHES "metawasi")
@ -214,7 +216,6 @@ else()
endif()
add_subdirectory(source)
target_link_libraries(${OUT_FILE} m3)
message("Flags: ${CMAKE_C_FLAGS}")
message("Debug flags: ${CMAKE_C_FLAGS_DEBUG}")

@ -15,7 +15,7 @@ source $IDF_PATH/export.sh
idf.py menuconfig
# Select target:
idf.py set-target esp32s2beta # or esp32
idf.py set-target esp32 # or: esp32s2, esp32c3, esp32s3, linux
idf.py build

@ -406,11 +406,12 @@ m3ApiRawFunction(m3_wasi_unstable_fd_seek)
case 2: whence = UVWASI_WHENCE_SET; whstr = "SET"; break;
}
uvwasi_errno_t ret = uvwasi_fd_seek(&uvwasi, fd, offset, whence, result);
uvwasi_filesize_t pos;
uvwasi_errno_t ret = uvwasi_fd_seek(&uvwasi, fd, offset, whence, &pos);
WASI_TRACE("fd:%d, offset:%d, whence:%s | result:%d", fd, offset, whstr, *result);
//TODO: m3ApiWriteMem
m3ApiWriteMem64(result, pos);
m3ApiReturn(ret);
}
@ -434,11 +435,12 @@ m3ApiRawFunction(m3_wasi_snapshot_preview1_fd_seek)
case 2: whence = UVWASI_WHENCE_END; whstr = "END"; break;
}
uvwasi_errno_t ret = uvwasi_fd_seek(&uvwasi, fd, offset, whence, result);
uvwasi_filesize_t pos;
uvwasi_errno_t ret = uvwasi_fd_seek(&uvwasi, fd, offset, whence, &pos);
WASI_TRACE("fd:%d, offset:%d, whence:%s | result:%d", fd, offset, whstr, *result);
//TODO: m3ApiWriteMem
m3ApiWriteMem64(result, pos);
m3ApiReturn(ret);
}
@ -839,11 +841,12 @@ m3ApiRawFunction(m3_wasi_generic_clock_res_get)
m3ApiCheckMem(resolution, sizeof(uvwasi_timestamp_t));
uvwasi_errno_t ret = uvwasi_clock_res_get(&uvwasi, wasi_clk_id, resolution);
uvwasi_timestamp_t t;
uvwasi_errno_t ret = uvwasi_clock_res_get(&uvwasi, wasi_clk_id, &t);
WASI_TRACE("clk_id:%d", wasi_clk_id);
//TODO: m3ApiWriteMem64
m3ApiWriteMem64(resolution, t);
m3ApiReturn(ret);
}
@ -857,11 +860,12 @@ m3ApiRawFunction(m3_wasi_generic_clock_time_get)
m3ApiCheckMem(time, sizeof(uvwasi_timestamp_t));
uvwasi_errno_t ret = uvwasi_clock_time_get(&uvwasi, wasi_clk_id, precision, time);
uvwasi_timestamp_t t;
uvwasi_errno_t ret = uvwasi_clock_time_get(&uvwasi, wasi_clk_id, precision, &t);
WASI_TRACE("clk_id:%d", wasi_clk_id);
//TODO: m3ApiWriteMem64
m3ApiWriteMem64(time, t);
m3ApiReturn(ret);
}

Loading…
Cancel
Save