Commit Graph

1161 Commits

Author SHA1 Message Date
Pat Hickey
8ace7f00d9 delete file::get/set_oflags 2021-01-05 13:53:25 -08:00
Pat Hickey
fb32f65118 get path filestat on a dir 2021-01-05 13:51:55 -08:00
Pat Hickey
07a9584a08 add hard_link to dir 2021-01-05 12:19:56 -08:00
Pat Hickey
21cd55b0a7 add directory rename 2021-01-05 12:14:07 -08:00
Pat Hickey
94d2280187 better docs 2021-01-05 11:01:52 -08:00
Pat Hickey
d51ffe8d4e add . and .. to the readdir iterator 2021-01-04 17:27:32 -08:00
Pat Hickey
222a57868e readlink: get rid of weird partial-buffer semantics carried over from posix
but follow posix in returning ERANGE when the result is too big
2021-01-04 16:41:24 -08:00
Pat Hickey
84318024ef no more clock test fail 2021-01-04 16:30:11 -08:00
Pat Hickey
41c06db2b4 finish implementing clocks correctly 2021-01-04 16:28:40 -08:00
Pat Hickey
add601fd6c use cap_rand instead of getrandom 2021-01-04 16:28:35 -08:00
Pat Hickey
10a84727fa Ilseq is the correct error when osstring cant be turned into string 2021-01-04 16:04:00 -08:00
Pat Hickey
c7fcc34487 add clocks! 2021-01-04 16:03:58 -08:00
Pat Hickey
50554d376b add, fix tests 2021-01-04 12:37:07 -08:00
Pat Hickey
48554a1a5c implement randomness 2021-01-04 12:20:42 -08:00
Pat Hickey
01d74ceb73 Merge remote-tracking branch 'origin/main' into pch/wasi_common_cap_std 2021-01-04 11:19:02 -08:00
Pat Hickey
b50b9b4136 add notes describing why remaining wasi tests are failing 2020-12-18 17:04:02 -08:00
Pat Hickey
8deb3ed07c path_open: ENOTDIR when fd is a file 2020-12-18 16:57:43 -08:00
Pat Hickey
f663045563 better arg names 2020-12-18 16:57:15 -08:00
Pat Hickey
8672dce541 open_file requires the FdFlags 2020-12-18 16:56:58 -08:00
Pat Hickey
a33418c34a path_filestat: remove expectation that rights_inheriting describes subdirs
if inheriting rights are for files (not subdirs) then this is incorrect.

if inheriting rights are for subdirs too, then we need to change the
implementation.
2020-12-18 16:34:25 -08:00
Pat Hickey
c1919259dc implement fd_readdir 2020-12-18 16:13:29 -08:00
Pat Hickey
af0aa14ee8 get a FileStat of a Dir
and fill out some remaining DirCaps from Rights
2020-12-18 16:13:10 -08:00
Pat Hickey
8cc1ab7720 fixup filetype nonsense
tried to go my own way here, bad idea, stick to the design of wasi buddy
2020-12-18 12:30:40 -08:00
Pat Hickey
82edae32b7 readlink 2020-12-18 11:33:28 -08:00
Pat Hickey
f6afd4c41c test-programs: sandbox escape is an EPERM now, not an ENOTCAPABLE 2020-12-17 18:12:29 -08:00
Pat Hickey
d8720cffe8 unexpected io error: do our best based on e.kind() 2020-12-17 18:12:15 -08:00
Pat Hickey
f9ff97aac1 virt pipes: return concrete errors, best effort at flags and filestat 2020-12-17 17:48:46 -08:00
Pat Hickey
4c3c9a9ecb Filestat: make times optional, default to 0 at wasi interface
this is DRY
2020-12-17 17:29:35 -08:00
Pat Hickey
8ac688287e fixup dir/file caps into rights 2020-12-17 17:29:00 -08:00
Pat Hickey
4bee07d6f9 Merge pull request #2520 from bytecodealliance/pch/prune_deps
Prune deps, comment deny.toml
2020-12-17 15:33:38 -08:00
Pat Hickey
fb78025e41 upgrade all wasmparser to 0.71
new simd instructions are left as ubsupported in cranelift-wasm
2020-12-17 14:49:13 -08:00
David Haynes
02260b7cd0 2499: First pass on TableOps fuzzer generator wasm_encoder migration (#2501)
* 2499: First pass on TableOps fuzzer generator wasm_encoder migration

- wasm binary generated via sections and smushed together into a module
- test: compare generated wat against expected wat
- note: doesn't work
  - Grouped instructions not implemented
  - Vec<u8> to wat String not implemented

* 2499: Add typesection, abstract instruction puts, and update test

- TableOp.insert now will interact with a function object directly
- add types for generated function
- expected test string now reflects expected generated code

* 2499: Mark unused index as _i

* 2499: Function insertion is in proper stack order, and fix off by 1
      index

- imported functions must be typed
- instructions operate on a stack ie. define values as instructions
  before using

* 2499: Apply suggestions from code review

- typo fixing
- oracle ingests binary bytes itself

Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com>

* 2499: Code cleanup + renaming vars

- busywork, nothing to see here

Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com>
2020-12-17 15:47:18 -06:00
Pat Hickey
4f5afe92dc wasmtime-debug: tune down features required from object
in order to eliminate a dep on an old wasmparser
2020-12-17 10:59:28 -08:00
Louis Pilfold
6bde8519c1 cargo deny config 2020-12-17 11:09:10 +00:00
Pat Hickey
df0218c086 make get_filestat work
up to 16 tests passing!
2020-12-16 17:54:17 -08:00
Pat Hickey
23b5689a5f fix file rights 2020-12-16 17:19:27 -08:00
Pat Hickey
8777194f0d always open files read if not write
and if creating a file, open it write.
2020-12-16 16:07:23 -08:00
Pat Hickey
af8bdf8933 table: borrow entry immutably or mutably 2020-12-16 15:55:30 -08:00
Pat Hickey
dbe0f4f284 Revert "dangling_fd test: open with either READ or CREAT|WRITE"
fix for behavior in wasi-c2 coming in next commit

This reverts commit 789eec3827.
2020-12-16 15:54:46 -08:00
Pat Hickey
789eec3827 dangling_fd test: open with either READ or CREAT|WRITE
neither READ nor WRITE is an error
2020-12-16 15:16:14 -08:00
Pat Hickey
27ddbda829 preopens with Caps::all, implement create, remove dir, remove file 2020-12-16 15:15:48 -08:00
Sakarias Johansson
22ad43b430 Add filestat_get for stdout, stdin and stderr
This makes fstat work for stdout, stdin and stderr as expected.
This seemed like the only reasonable functions to implement from the
filestat_* set, for stdout, stdin and stderr.

Fixes #2515
2020-12-16 14:33:42 +01:00
Pat Hickey
c0461ca170 redesign how caps fit into entries! 2020-12-15 18:09:36 -08:00
Pat Hickey
b5852bf5ff open_dir can never create a dir 2020-12-15 16:44:03 -08:00
Nick Fitzgerald
cc81570a05 bench-api: Clean up the benchmarking API
Mostly just tweaks to docs/naming/readability/tidying up.

The biggest thing is that the wasm bytes are passed in during compilation now,
rather than on initialization, which lets us remove the lifetime from our state
struct and makes wrangling unsafe conversions that much easier.
2020-12-15 11:21:51 -08:00
Nick Fitzgerald
48b401c6f5 Merge pull request #2437 from abrown/bench-api
Introduce benchmarking API
2020-12-15 09:42:48 -08:00
Ulrich Weigand
fe10cc9d52 Fix jitdump header magic field on big-endian platforms (#2511)
The jitdump header contains a "magic" field that is defined to hold
the value 0x4A695444 as u32 in native endianness.  (This allows
consumers of the file to detect the endianness of the platform
where the file was written, and apply it when reading other fields.)

However, current code always writes 0x4A695444 in little-endian
byte order, even on big-endian system.  This makes consumers fail
when attempting to read files written on big-endian platforms.

Fixed by always writing the magic in native endianness.
2020-12-15 08:44:43 -06:00
whitequark
fc4eeae896 Alias yanix::file::OFlags::RSYNC to SYNC on Android.
Android defines O_RSYNC to be the same as O_SYNC:

35bb46188c/libc/include/fcntl.h (L57)
2020-12-14 22:03:43 -08:00
whitequark
1ec1834d6e Treat Android like Linux in wasi_common::sys::unix.
Just like it happens in `yanix::sys`.
2020-12-14 22:03:43 -08:00
whitequark
476ee59774 Define local seekdir and telldir prototypes on Android.
These functions are not yet defined in the `libc` crate.
See https://github.com/rust-lang/libc/pull/1996.
2020-12-14 22:03:43 -08:00