Ralf Jung
20e31dbdad
fix newer getrandom on Windows
2021-04-04 11:41:04 +02:00
bstrie
4f899ce9ac
Replace deprecated collections::Bound
2021-03-17 18:34:44 -04:00
hyd-dev
7ec919daa4
Remove the macro and expand it manually
2021-03-17 22:27:57 +08:00
hyd-dev
bbc348539b
Unsupported foreign non-"C"/"system"-ABI function calls are not UB
2021-03-17 21:20:04 +08:00
bors
0788188c7b
Auto merge of #1743 - RalfJung:callee-checks, r=RalfJung
...
Check callee ABI when Miri calls closures
Fixes https://github.com/rust-lang/miri/issues/1741
2021-03-14 18:05:18 +00:00
Ralf Jung
15465a5881
don't ICE when we unwind despite panic=abort
2021-03-14 17:10:45 +01:00
Ralf Jung
893843fd45
when Miri calls a function ptr, make sure it has the right ABI
2021-03-14 15:30:37 +01:00
Ralf Jung
98f28ac9c8
rustup
2021-03-11 09:07:05 +01:00
Mara Bos
5bd5ea21ea
Remove unwrap_none as it won't be stabilized.
...
This upgrades to the latest rustc to be able to use try_insert()
instead.
2021-03-08 16:59:20 +01:00
Smittyvb
8d43d727f4
Check arg count
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2021-03-05 07:16:50 -05:00
Smitty
26e97ec54f
Support breakpoint intrinsic
2021-03-04 07:48:28 -05:00
Ralf Jung
9f3dbad5d0
rename atomic_op_min_max -> atomic_op
2021-03-02 19:54:45 +01:00
Henry Boisdequin
f8440d6c99
Add in atomic_{min,max}_x
intrinsics
...
Co-authored-by: Greg Bowyer <gbowyer@fastmail.co.uk>
2021-03-02 20:17:05 +05:30
Henry Boisdequin
7d1531f3c1
fmt data_race.rs and intrinsics.rs
2021-03-02 18:06:12 +05:30
Tomasz Miąsko
0eb341417c
rustup to e7c23ab933
2021-02-20 00:00:00 +00:00
Ralf Jung
052cd3bff7
rustup; remove some no-longer-needed Windows shims
2021-01-31 14:23:49 +01:00
bors
b38dc837f2
Auto merge of #1670 - unseddd:abi, r=RalfJung
...
Add ABI check for shims
Resolves #1631
2021-01-29 19:36:30 +00:00
Yuki Okushi
53612ece7c
Rustup for rust-lang/rust#79951
2021-01-28 22:31:22 +09:00
Nym Seddon
de4eea9d49
Add ABI check for shims
2021-01-27 22:32:25 +00:00
Thom Chiovoloni
c678bd722e
Add random failures to compare_exchange_weak
2021-01-26 00:13:54 -08:00
Ralf Jung
13dd513254
adjust Windows shims for stdlib changes (Windows XP removal)
2021-01-25 10:43:48 +01:00
Ralf Jung
7d8f8c405f
macos: support aarch64 link names
2021-01-23 18:14:57 +01:00
Ralf Jung
848be1bf82
implement aarch64 hint 'intrinsic'
2021-01-23 18:11:01 +01:00
Corey Farwell
2aedbf0993
Add shim for libc::sysconf(libc::_SC_NPROCESSORS_CONF)
2021-01-22 09:16:27 -05:00
Ralf Jung
3d01ba11c0
rustup; remove some intrinsics that are gone or moved to rustc
2021-01-18 12:55:30 +01:00
Ralf Jung
65f5c27d61
remove intrinsic that is now implemented in the rustc side
2020-12-22 12:47:59 +01:00
Ralf Jung
7bbd6bca77
rustup
2020-12-10 19:53:45 +01:00
bors
d473242ecd
Auto merge of #1617 - JCTyblaidd:data_race_detector, r=RalfJung
...
Add simple data-race detector
Partially fixes data-race detection, see #1372 , based on Dynamic Race Detection for C++11
- This does not explore weak memory behaviour, only exploring one sequentially consistent ordering.
- Data-race detection is only enabled after the first thread is created, so should have minimal overhead for non-concurrent execution.
- ~~Does not attempt to re-use thread id's so creating and joining threads lots of time in an execution will result in the vector clocks growing in size and slowing down program execution~~ It does now
2020-11-29 18:44:28 +00:00
JCTyBlaidd
6c5722933e
Fix typos - looked into the papers handling of timestamps, after looking into it again, it seems the paper only increments the timestamp after release operations, so changed to approximation of that implementation.
2020-11-28 17:17:07 +00:00
JCTyBlaidd
55fc552d99
Apply review changes, incrementing the clocks twice is an unnecessary hold-over from earlier versions so fixed.
2020-11-27 19:26:06 +00:00
JCTyBlaidd
3268f56a97
Fix review changes
2020-11-22 17:28:12 +00:00
Ralf Jung
697f6e36bd
rustup
2020-11-20 14:07:52 +01:00
Ralf Jung
517728bf97
avoid fallback logic (and we do not need the flag value currently anyway)
2020-11-19 09:36:33 +01:00
Mara Bos
cdb7adb4b3
Make weak syscalls in std work.
...
std now looks up `getrandom` and `statx` with `dlsym` before attempting
to use `syscall(SYS_.., ..)`.
It also now passes all arguments as a machine-sized word, instead of
their original types.
2020-11-19 09:34:46 +01:00
JCTyBlaidd
69fb6413dd
Tidy up comments and function layout, should fix most of the review notes.
2020-11-15 18:30:26 +00:00
Ralf Jung
43673d9a87
rustup
2020-11-11 10:29:10 +01:00
Ralf Jung
f31f00d5af
rustup
2020-11-05 17:09:44 +01:00
JCTyBlaidd
9cb6b8da3f
Split out vector_clock to separate file, general tidy up of some of the
...
code & add support for vector index re-use for multiple threads
after termination.
2020-11-05 03:54:39 +00:00
JCTyBlaidd
95c99b2044
Detect races between atomic and non-atomic accesses of a variable,
...
previously only data races between two non-atomic accesses were
detected.
2020-11-04 21:35:48 +00:00
JCTyBlaidd
ed32b260f9
Add tests, and fix bug in atomic RMW relaxed stores
2020-11-02 02:57:06 +00:00
JCTyBlaidd
89814f1b3f
Initial data-race detector,
...
passes all current tests but additional tests are required
2020-11-02 02:57:05 +00:00
est31
1ae157bc9e
Replace target.target with target
...
Rustc removed the target wrapper and exposed the target directly.
Result of running:
find . -type f -exec sed -i -e 's/target\.target\([)\.,;]\)/target\1/g' {} \;
Plus one manual edit of the rust-version file
2020-10-15 21:18:23 +02:00
Aaron Hill
c889eba4b2
Add comment about deprecation
2020-10-11 17:57:49 -04:00
Aaron Hill
6a6767fa2a
Apply suggestions from code review
...
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-10-11 13:40:00 -04:00
Aaron Hill
be51e6bd07
Add an fn_ptr
field to MiriFrame
...
The `backtrace-rs` crate can use this to implement
`Frame::symbol_address`, which is used to skip frames
above the call to `Backtrace::capture` on the stack.
The function pointer will not be useable for comparison purposes if the
function is generic, as CTFE creates a new function pointer for each
cast of a (monomorphized) generic function. However, this already
affects code running under Miri, and isn't a problem for `backtrace-rs`
(which only casts a non-generic function).
I've added logic to allow `MiriFrame` to have either 4 or 5 fields - if
a 5th field is present, we write the function pointer to it.
2020-10-10 13:07:57 -04:00
Aaron Hill
8e8828259a
Use macro callsite spans in backtrace
...
This mirrors what we do in the debuginfo used for runtime backtraces.
2020-10-05 17:29:55 -04:00
Ralf Jung
3aaab3dd98
more punctuation
2020-10-04 23:07:19 +02:00
Aaron Hill
c1c82c2503
Properly capitalize PathConversion
2020-10-04 16:28:09 -04:00
Aaron Hill
9e6320f101
Move convert_path_separator
to trait and use it in readlink
2020-10-04 12:34:13 -04:00
Aaron Hill
462f58298a
Make helper functions freestanding
2020-10-04 12:06:51 -04:00