Commit Graph
9 Commits
Author SHA1 Message Date
zoraaverandGitHub fa5e9d72b0 Abstract POSIX filesystem functions (#2585)
To allow non-POSIX platforms such as Windows to support WASI libc
filesystem functionality, create a set of wrapper functions which provide a
platform-agnostic interface to interact with the host filesystem. For now,
the Windows implementation is stubbed but this will be implemented
properly in a future PR. There are no functional changes in this change,
just a reorganization of code to move any direct POSIX references out of
posix.c in the libc implementation into posix_file.c under the shared
POSIX sources.

See https://github.com/bytecodealliance/wasm-micro-runtime/issues/2495 for a
more detailed overview of the plan to port the WASI libc filesystem to Windows.
2023-10-19 19:19:39 +08:00
zoraaverandGitHub 5fd530610a Enable MASM automatically in runtime_lib.cmake (#2634)
MASM (Microsoft Macro Assembler) needs to be enabled to successfully
compile .asm files on Windows. Without enabling this language
automatically in runtime_lib.cmake, Windows cmake projects using WAMR
get hard-to-diagnose linker errors about missing symbols as the assembly
file is not compiled at all.
2023-10-12 20:42:25 +08:00
zoraaverandGitHub 74acfd964e Run rust tests from wasi-testsuite (#2484) 2023-10-06 20:12:08 +08:00
zoraaverandGitHub 8987432f36 libc-wasi: Conditionally support SYNC flags (#2581)
To make it clearer to users when synchronization behaviour is not
supported, return ENOTSUP when O_RSYNC, O_DSYNC or O_SYNC are
respectively not defined. Linux also doesn't support O_RSYNC despite the
O_RSYNC flag being defined.
2023-10-04 21:02:25 +08:00
zoraaverandGitHub 913a1414ad Add support for closing/renumbering preopen fds (#2578)
There doesn't appear to be a clear reason not to support this behavior.
It seems it was disallowed previously as a precaution. See
https://github.com/bytecodealliance/wasmtime/commit/67e2e57b02cd244c004379690aa56d3d5e187153
for more context.
2023-09-26 09:31:32 +08:00
zoraaverandGitHub f474f3d668 Return __WASI_EINVAL from fd_prestat_dir_name (#2580)
Return a WASI error code (rather than a host POSIX one). In addition,
there is no need to return an error in the case that the provided buffer
is too large.
2023-09-25 18:40:12 +08:00
zoraaverandGitHub 06527f724e Remove provision of unnecessary fd rights (#2579)
The WASI docs allow for fewer rights to be applied to an fd than requested but
not more. This behavior is also asserted in the rust WASI tests, so it's necessary
for those to pass as well.
2023-09-22 09:11:25 +08:00
zoraaverandGitHub d436e846ab Add support for running tests on apple M1 macs (#2554) 2023-09-17 13:54:28 +08:00
eaf1897a70 Add support for universal binaries on OSX (#2060)
When building for multiple architectures on OSX, it's necessary to use
compiler macros to conditionally include architecture-specific code
rather than conditionally including architecture-specific assembly files
via cmake. See
  https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary
and
  https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_ARCHITECTURES.html
for more details.

Co-authored-by: Zoraaver Singh <zoraaver@amazon.co.uk>
2023-03-30 09:53:07 +08:00