Commit Graph

5160 Commits

Author SHA1 Message Date
bors
c53d4518a9 Auto merge of #1635 - RalfJung:readme, r=oli-obk
update README

Data races are detected now, but also the amount of non-determinism went way up so reword that point.
2020-11-30 11:15:38 +00:00
Ralf Jung
6145709bfc remove miri-rustc-tests 2020-11-29 21:00:50 +01:00
Ralf Jung
d697de7538 update README 2020-11-29 20:54:56 +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
Ralf Jung
cbb695f782
fix some typos 2020-11-29 19:43:44 +01: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
bors
ce031b4e8e Auto merge of #1633 - RalfJung:rustup, r=RalfJung
rustup; test sorting for provenance-correctness
2020-11-22 17:10:05 +00:00
Ralf Jung
7a2c2f8dde rustup; test sorting for provenance-correctness 2020-11-22 18:08:57 +01:00
bors
746ea5b141 Auto merge of #1632 - RalfJung:rustup, r=RalfJung
rustup

fix statx
2020-11-20 13:08:30 +00:00
Ralf Jung
697f6e36bd rustup 2020-11-20 14:07:52 +01:00
bors
c8f51fc5a7 Auto merge of #1630 - RalfJung:rustup, r=RalfJung
Rustup

Includes https://github.com/rust-lang/miri/pull/1626 and https://github.com/rust-lang/miri/pull/1629.
2020-11-19 08:39:37 +00: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
est31
4de113acba Normalize column numbers 2020-11-19 09:21:11 +01:00
Ralf Jung
a37cfed062 rustup 2020-11-19 09:21:03 +01:00
JCTyBlaidd
0b0264fc82 Run rustfmt on vector_clock.rs and data_race.rs 2020-11-15 20:19:34 +00:00
JCTyBlaidd
a3b7839bbd Add comment regarding seq-cst ordering & add test for disabling the data-race detector. 2020-11-15 20:12:58 +00:00
JCTyBlaidd
4a1f7ac1f1 Convert extra benchmark program into cfg option. 2020-11-15 19:50:38 +00:00
JCTyBlaidd
69fb6413dd Tidy up comments and function layout, should fix most of the review notes. 2020-11-15 18:30:26 +00:00
bors
1499c5a4d9 Auto merge of #1624 - RalfJung:rustup, r=RalfJung
rustup; less strict timing tests
2020-11-12 15:51:10 +00:00
Ralf Jung
915d091973 rustup; less strict timing tests 2020-11-12 16:50:24 +01:00
bors
df4109151b Auto merge of #1623 - RalfJung:rustup, r=RalfJung
rustup
2020-11-11 09:34:41 +00:00
Ralf Jung
43673d9a87 rustup 2020-11-11 10:29:10 +01:00
bors
0459f0be9e Auto merge of #1621 - RalfJung:rustup, r=RalfJung
Rustup; test btreemap with raw ptr tracking
2020-11-10 15:53:31 +00:00
Ralf Jung
df0de77fd1 test btreemap with raw ptr tracking 2020-11-10 16:51:55 +01:00
Ralf Jung
db718d72ae remove some unnecessary feature flags 2020-11-10 16:51:07 +01:00
Ralf Jung
737ecef376 rustup and update test 2020-11-10 16:47:56 +01:00
bors
66a58d43cc Auto merge of #1615 - jyn514:contributing-instructions, r=RalfJung
Improve contributing instructions

This builds on the changes from https://github.com/rust-lang/miri/pull/1612 and should not be merged before.

- Fix incorrect comment
- Recommend `x.py setup` over manually editing config.toml
- Link to rustc-dev-guide
2020-11-07 23:42:21 +00:00
Joshua Nelson
43ce2c2844 Improve contributing instructions
- Fix incorrect comment
- Recommend `x.py setup` over manually editing config.toml
- Link to rustc-dev-guide
2020-11-07 15:37:20 -05:00
bors
85a9a43bef Auto merge of #1612 - camelid:patch-1, r=RalfJung
CONTRIBUTING.md: Use `build --stage 1` instead of `build --stage 2`

It seems to work fine with `--stage 1` and it should be faster.

Cc #1610
Cc `@jyn514`
2020-11-07 20:12:16 +00:00
Camelid
6a475c3ddf
CONTRIBUTING.md: Update comment
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-11-07 11:26:41 -08:00
bors
a5c2211ada Auto merge of #1620 - RalfJung:overflow, r=RalfJung
enable overflow checks in the standard library
2020-11-07 14:58:41 +00:00
Ralf Jung
330ec0acdb enable overflow checks in the standard library 2020-11-07 15:56:25 +01:00
JCTyBlaidd
2a40d9b7a0 More aggressive vector index re-use, and added some tests. 2020-11-06 17:29:54 +00:00
bors
30e0c303a0 Auto merge of #1619 - RalfJung:rustup, r=RalfJung
rustup
2020-11-05 16:10:13 +00:00
Ralf Jung
f31f00d5af rustup 2020-11-05 17:09:44 +01:00
JCTyBlaidd
c70bbea257 Move to use of thread termination hook for vector re-use,
convert validate atomic op to use shared reference and get_raw
 instead of get_raw_mut so it can be used for validate_atomic_load as well
2020-11-05 14:18:28 +00: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
bors
2590bc64fe Auto merge of #1614 - RalfJung:raw-retag, r=RalfJung
Stacked Borrows: test raw-ref-to-field with raw ptr tracking

Adds a test for https://github.com/rust-lang/rust/pull/78597 (blocked on that landing first)
2020-11-03 19:07:45 +00:00
Ralf Jung
571b48cc47 rustup 2020-11-03 20:07:19 +01:00
JCTyBlaidd
fe2e857cc3 Add newlines at end of file + use replace.
add dangling thread variant of one of the benchmarks
2020-11-02 13:08:09 +00:00
JCTyBlaidd
2e75de5ac9 Mark all new tests as disabled on windows 2020-11-02 12:40:12 +00:00
JCTyBlaidd
cae4302003 Fix & rebase 2020-11-02 03:06:30 +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
Ralf Jung
7eaba6684c fix trophy case URL 2020-10-31 16:28:56 +01:00
Ralf Jung
00bc944eea test Rc with raw pointer tracking 2020-10-31 16:24:34 +01:00