Commit Graph

95 Commits

Author SHA1 Message Date
David Cook
725d6bfa9c Move error up, early return 2020-02-23 15:39:50 -06:00
David Cook
d6da4ab4b8 Add comments 2020-02-23 15:38:32 -06:00
David Cook
94f611348f Use os_str_length_as_c_str in readdir[64]_r 2020-02-23 15:37:22 -06:00
David Cook
947fa1fa26 Miscellaneous review comments 2020-02-23 15:36:03 -06:00
David Cook
d4b73efa81 Fix interpreted OS detection 2020-02-23 15:33:37 -06:00
David Cook
9a6921a17f Add doc comment inside DirHandler 2020-02-23 15:32:24 -06:00
David Cook
515d29aa2c Fix dirent layout for macOS 2020-02-23 15:31:07 -06:00
David Cook
ba61a9b37c Add shims for macOS-specific symbols 2020-02-23 15:26:42 -06:00
David Cook
974362ef64 Handle differing sizes of mode_t
mode_t is a u32 on Linux and a u16 on macOS
2020-02-23 15:08:44 -06:00
David Cook
5d35339111 Add shim for readdir64_r 2020-02-23 15:08:44 -06:00
David Cook
d7c3f588eb Add shims for opendir and closedir 2020-02-23 15:02:49 -06:00
David Cook
5b34f06bae Add shims for mkdir and rmdir 2020-02-23 15:02:49 -06:00
Ralf Jung
beb82ea4a4 add private helper trait for fs shim 2020-02-23 18:52:12 +01:00
bors
2752d1b74b Auto merge of #1167 - christianpoveda:shims-refactor, r=RalfJung
Reorganize shims by platform

Fixes https://github.com/rust-lang/miri/issues/1161. I am currently testing which shims belong to which platform. If you are reading this and know the answer for any of those please write me :P

Edit: this is a list of the shims I haven't been able to figure out to which platform they belong:
 -~~`malloc`~~
 -~~`calloc`~~
 -~~`posix_memalign`~~
 -~~`free`~~
 -~~`realloc`~~
 -~~`__rust_alloc`~~
 -~~`__rust_alloc_zeroed`~~
 -~~`__rust_dealloc`~~
 -~~`__rust_realloc`~~
 -~~`__rust_maybe_catch_panic`~~
 -~~`syscall`~~
 -~~`getrandom`~~
 -~~`dlsym`~~
 -~~`memcmp`~~
 -~~`memrchr`~~
 -~~`memchr`~~
 -~~`strlen`~~
 -~~`signal`~~
 -~~`sigaction`~~
 -~~`sigaltstack`~~
 -~~`sysconf`~~
 -~~`sched_getaffinity`~~
 -~~`isatty`~~
 -~~`pthread_key_create`~~
 -~~`pthread_key_delete`~~
 -~~`pthread_getspecific`~~
 -~~`pthread_setspecific`~~
 -~~`pthread_attr_init`~~
 -~~`pthread_attr_destroy`~~
 -~~`pthread_self`~~
 -~~`pthread_attr_setstacksize`~~
 -~~`pthread_attr_getstack`~~
 -~~`pthread_create`~~
 -~~`pthread_mutexattr_init`~~
 -~~`pthread_mutexattr_settype`~~
 -~~`pthread_mutex_init`~~
 -~~`pthread_mutexattr_destroy`~~
 -~~`pthread_mutex_lock`~~
 -~~`pthread_mutex_unlock`~~
 -~~`pthread_mutex_destroy`~~
 -~~`pthread_rwlock_rdlock`~~
 -~~`pthread_rwlock_unlock`~~
 -~~`pthread_rwlock_wrlock`~~
 -~~`pthread_rwlock_destroy`~~
 -~~`pthread_condattr_init`~~
 -~~`pthread_condattr_setclock`~~
 -~~`pthread_cond_init`~~
 -~~`pthread_condattr_destroy`~~
 -~~`pthread_cond_destroy`~~
 -~~`pthread_atfork`~~
 -~~`posix_fadvise`~~
 -~~`mmap`~~
 -~~`mprotect`~~
2020-02-23 17:03:30 +00:00
Christian Poveda
208665836e
panic if target platform is incorrect instead 2020-02-22 09:02:29 -05:00
Christian Poveda
c2bcab55b0
improve docs 2020-02-22 08:55:45 -05:00
Christian Poveda
bb3a711b3e
rename platform specific shims 2020-02-19 17:53:33 -05:00
Christian Poveda
8fe7543191
add helper function for target platform checks 2020-02-19 17:47:34 -05:00
David Cook
ae7d98b68f Extract constant for minimum fd 2020-02-18 18:06:33 -06:00
David Cook
8216f3c0f3 Back out placeholder variants from FileHandle 2020-02-17 22:24:33 -06:00
David Cook
a6a8f09f1e Address review comments 2020-02-17 22:24:33 -06:00
David Cook
962a740426 Rewrite file descriptor handling 2020-02-17 22:24:33 -06:00
David Cook
eda35e153b Add methods to FileHandler 2020-02-17 22:24:33 -06:00
David Cook
1de9d107cf Style fixes 2020-02-17 22:24:33 -06:00
David Cook
3aff803868 Add comment 2020-02-17 22:24:33 -06:00
David Cook
085874d1ff Add F_DUPFD/F_DUPFD_CLOEXEC to fcntl shim 2020-02-17 22:24:33 -06:00
David Cook
38204b6321 Add shim for rename 2020-02-08 22:33:49 -06:00
bors
f9615bfd67 Auto merge of #1159 - divergentdave:shim-seek, r=RalfJung
Add shim for seeking files

This adds a shim for `lseek64` (`lseek` on macOS). This enables the use of `<File as Seek>::seek`. Testing is included.
2020-02-08 13:54:33 +00:00
Ralf Jung
ef154df607 pass MPlaceTy by-value, as we usually do 2020-01-30 13:38:49 +01:00
David Cook
2f25e4cd17 Error with EINVAL on unsupported whence argument 2020-01-29 19:04:18 -06:00
David Cook
6e9abea272 Update comment 2020-01-28 22:59:28 -06:00
David Cook
d8da3968d6 Change function name, comments, and error message 2020-01-28 19:43:55 -06:00
David Cook
03b5d95cff Add shim for lseek64 2020-01-26 12:36:36 -06:00
David Cook
90f3aae2de Add fstat shim for OSX 2020-01-26 11:58:08 -06:00
David Cook
d94b88ef98 Add support for AT_EMPTY_PATH to statx shim 2020-01-25 22:21:33 -06:00
bors
b4c54b4641 Auto merge of #1143 - christianpoveda:symlink-shim, r=RalfJung
Add shim for symbolic link creation

r? @RalfJung
2020-01-10 17:21:12 +00:00
Christian Poveda
5e71f2debc
fix windows symlink creation 2020-01-10 12:18:24 -05:00
Christian Poveda
0b5a30515e
small corrections 2020-01-10 12:01:05 -05:00
Christian Poveda
91cf68fac5
Add lstat shim for macos 2020-01-07 12:26:23 -05:00
Christian Poveda
4a1dbc77dc
Add shim for symbolic link creation 2020-01-06 16:30:17 -05:00
Yuki Okushi
86ee705cd5 Rustup 2020-01-07 05:13:18 +09:00
bors
39146c44bd Auto merge of #1130 - christianpoveda:ignore-close-read-only, r=RalfJung
Ignore close errors in read-only files.

this fixes https://github.com/rust-lang/miri/issues/999

r? @RalfJung
2019-12-31 11:00:08 +00:00
Christian Poveda
a40a99d849
avoid double negation 2019-12-30 17:26:17 -05:00
Christian Poveda
ce4e1f9fe7
add comments 2019-12-29 22:51:48 -05:00
Christian Poveda
b7e6135d7b
Use Scalar::to_u16 2019-12-28 08:38:31 -05:00
Christian Poveda
dc4b8ac2e6
close file silently if the file is read only 2019-12-27 08:34:35 -05:00
Christian Poveda
c8190e8de7
rename metadata struct 2019-12-26 19:31:59 -05:00
Christian Poveda
2151e958ce
minor fixes and updated docs 2019-12-26 12:12:27 -05:00
Christian Poveda
bbbb50a09a
set mask for statx correctly 2019-12-25 22:24:18 -05:00
Christian Poveda
1bc3629084
do padding correctly 2019-12-25 18:22:33 -05:00