Ralf Jung
1ac1e55f3b
implement simd_eq and simd_reduce_any
2022-02-21 21:41:52 -05:00
Ralf Jung
5ab0ea67f2
adjust output for calling convention check
2021-12-24 12:02:23 +01:00
Ralf Jung
44cad75069
fix iteration-order-dependent output
2021-12-15 16:51:40 +01:00
5225225
f0d915703c
Add tests for double destroying various pthread items
2021-12-06 21:15:02 +00:00
5225225
eadeedde42
Handle uninit data in pthread_condattr_destroy
2021-12-05 19:47:29 +00:00
Ralf Jung
4414d96323
implement shl and shr SIMD intrinsics
2021-11-25 17:26:37 -05:00
Ralf Jung
a534bbbf8a
portable SIMD: add rem intrinsic; test div and rem intrinsic UB
2021-11-25 17:13:33 -05:00
Ralf Jung
d8bee92aee
rename track-raw-pointers flag to tag-raw-pointers
2021-11-13 15:48:27 -05:00
Noah Lev
1cca2acf95
Add test for uninit raw ptrs
2021-11-10 11:36:42 -08:00
Noah Lev
b3be6b44b6
Add tests for -Zmiri-check-number-validity
2021-11-10 11:36:42 -08:00
Noah Lev
6d1d8c69a0
rustup
2021-11-01 16:12:38 -07:00
Noah Lev
9af75a824f
rustup
...
Update to the `HEAD` commit of rust-lang/rust and fix test failure.
2021-10-05 13:13:06 -07:00
DrMeepster
e6a27a68fa
implement #[global_allocator]
2021-09-28 20:32:53 -07:00
hyd-dev
9a877b80fe
Add #[allow(dead_code)]
in some tests
2021-09-11 18:58:57 +08:00
Ralf Jung
9a6a5119fc
rustup
2021-08-16 17:09:21 +02:00
Ralf Jung
78b4c7bf79
rustup
2021-08-14 14:47:57 +02:00
hyd-dev
af7eb369b1
Fix tests for C-unwind
ABI changes
2021-08-07 15:57:54 +08:00
Ralf Jung
5338a16018
adjust for ERR_ON_PARTIAL_PTR_OVERWRITE
2021-08-02 17:58:55 +02:00
bors
02f78b089c
Auto merge of #1858 - RalfJung:thread-leaks, r=oli-obk
...
also ignore 'thread leaks' with -Zmiri-ignore-leaks
This is a step towards https://github.com/rust-lang/miri/issues/1371 . The remaining hard part would be supporting checking for memory leaks when there are threads still running. For now we elegantly avoid this problem by using the same flag to control both of these checks. :)
2021-07-27 12:23:56 +00:00
Ralf Jung
24fa9deddc
add test for mixing up System and Global memory
2021-07-25 14:36:00 +02:00
Ralf Jung
71efd950d1
also ignore 'thread leaks' with -Zmiri-ignore-leaks
2021-07-25 14:21:06 +02:00
Ralf Jung
cf26458376
test for negative offsets
2021-07-20 13:30:49 +02:00
Ralf Jung
a1233a721d
adjust Miri to Pointer type overhaul
2021-07-16 10:10:12 +02:00
Ralf Jung
7f3dd37f1e
rustup
2021-06-17 20:52:35 +02:00
bors
486b5dfe74
Auto merge of #1832 - hyd-dev:1776-follow-up, r=RalfJung
...
Report an error if a `#[no_mangle]`/`#[export_name = ...]` function has the same symbol name as a built-in shim
Implements https://github.com/rust-lang/miri/pull/1776#issuecomment-821322605 .
The error looks like this:
```
error: found `malloc` symbol definition that clashes with a built-in shim
--> tests/compile-fail/function_calls/exported_symbol_shim_clashing.rs:12:9
|
12 | malloc(0);
| ^^^^^^^^^ found `malloc` symbol definition that clashes with a built-in shim
|
help: the `malloc` symbol is defined here
--> tests/compile-fail/function_calls/exported_symbol_shim_clashing.rs:2:1
|
2 | / extern "C" fn malloc(_: usize) -> *mut std::ffi::c_void {
3 | | //~^ HELP the `malloc` symbol is defined here
4 | | unreachable!()
5 | | }
| |_^
= note: inside `main` at tests/compile-fail/function_calls/exported_symbol_shim_clashing.rs:12:9
```
This does not implement "better error messages than we do currently for arg/ABI mismatches" in https://github.com/rust-lang/miri/pull/1776#issuecomment-821343175 -- I failed to remove all `check_arg_count()` and `check_abi()` (they are still used in `src/shims/intrinsics.rs` and `call_dlsym()`) and they don't receive the name of the shim.
2021-06-15 09:53:05 +00:00
hyd-dev
dfd7a6d5aa
Rustup
2021-06-15 16:12:47 +08:00
hyd-dev
e46aab5816
Use check_shim()
for abort
2021-06-11 15:47:12 +08:00
hyd-dev
ce7040075a
Disallow #[no_mangle]
/#[export_name = ...]
functions that have the same symbol name as built-in shims
2021-06-11 15:18:47 +08:00
Lander Brandt
ae237098f8
Add support for panicking in the emulated application when unsupported syscalls are encountered
2021-06-07 15:21:53 -07:00
Ralf Jung
0ece55d748
expand comment
2021-06-06 10:33:46 +02:00
hyd-dev
d7aff96053
Remove 2 tests
2021-06-06 11:22:25 +08:00
hyd-dev
879000b133
Detect std
by checking if the crate defines #[lang = "start"]
rather than string comparison
2021-06-06 11:12:05 +08:00
bors
28717a0e90
Auto merge of #1776 - hyd-dev:1170, r=RalfJung
...
Implement calls to exported symbols (#1170 )
Closes #1170 .
2021-06-03 15:59:56 +00:00
hyd-dev
ba3b11fa42
Remove some tests
2021-06-03 14:16:58 +08:00
hyd-dev
e4e6c25f67
Remove FIXME in tests/compile-fail/panic/bad_unwind.rs
2021-06-03 13:39:33 +08:00
Aaron Hill
73700bc01c
Rustup for const_err changes
2021-05-31 10:50:25 -05:00
hyd-dev
a952787163
Improve tests
2021-05-31 11:57:16 +08:00
hyd-dev
41f33a64f8
Implement calls to exported symbols
2021-05-31 11:15:29 +08:00
hyd-dev
71f4140550
Add -Zmiri-disable-abi-check
2021-05-31 11:14:23 +08:00
hyd-dev
9b2d42587f
unwind
is no longer Option<BasicBlock>
2021-05-28 22:08:51 +08:00
Ralf Jung
393ce98b32
fix a Stacked Borrows test whose output changed
2021-05-23 18:04:13 +02:00
Ralf Jung
dd404cc92e
avoid importing C functions in alloc_write_race test
2021-05-19 15:27:58 +02:00
Ralf Jung
801a1744cd
update for Memory API changes
2021-05-19 15:27:58 +02:00
hyd-dev
1ab9fd50a4
Update pointer error messages
2021-05-08 15:33:27 +08:00
hyd-dev
47c5b6eb08
encountered a NULL reference
-> encountered a null reference
2021-05-04 15:53:19 +08:00
Smitty
e0e59f6020
Simplify finiteness checking
2021-05-03 10:08:42 -04:00
Smitty
68d29554a8
test for infinite value in f*_fast
2021-05-03 09:56:51 -04:00
Smitty
e591b83185
UB if f*_fast intrinsic called with nonfinite value
2021-05-02 12:25:00 -04:00
Ralf Jung
4c741e5fb2
rustup
2021-04-25 16:57:48 +02:00
Aliénore Bouttefeux
648638976a
allow deref of null ptr in test
2021-04-15 10:00:39 +02:00
Ralf Jung
21968aa53b
add test to detect dropped temporary
2021-04-10 12:09:10 +02:00
Ralf Jung
de0f3f930b
rustup
2021-03-28 01:36:41 +01:00
Ralf Jung
585e51aabd
disable MIR opts for ZST-related tests
2021-03-25 12:44:30 +01:00
Ralf Jung
b4b048cc86
rustup; better comment in storage_dead_dangling test
2021-03-22 12:35:30 +01:00
hyd-dev
633ac2a222
Remove meaningless tests
2021-03-17 21:55:45 +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
c9ff02f549
ensure we catch incorrectly unwinding calls
2021-03-14 17:03:20 +01:00
Ralf Jung
d1dec9cd23
don't ICE when callee has the wrong number of arguments
2021-03-14 15:38:22 +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
Ralf Jung
7a7f7b1a7a
rustup
2021-03-10 15:21:12 +01:00
Smitty
26e97ec54f
Support breakpoint intrinsic
2021-03-04 07:48:28 -05:00
Ralf Jung
97e45e0699
make optimized-test-run a bit more like what cargo does
2021-03-02 11:04:35 +01:00
Ralf Jung
7acf80d2bb
rustup; fix tests for new MIR optimization
2021-03-02 10:57:08 +01:00
Ralf Jung
48f7c8e2e6
fix reborrowing of tagged ZST references
2021-02-27 20:10:50 +01:00
Ralf Jung
c003fd0157
rustup
2021-02-23 09:23:49 +01:00
Ralf Jung
a5a751e795
rustup
2021-02-17 09:37:21 +01:00
Ralf Jung
4c867feeb6
add test by @eddyb
2021-02-16 10:18:31 +01:00
Ralf Jung
0b3dba8e70
rustup and temporarily disable broken tests
2021-02-16 09:55:33 +01:00
Ralf Jung
d309804395
rustup
2021-02-03 23:37:40 +01:00
Ralf Jung
6f5a91f70a
rustup
2021-01-31 13:12:25 +01:00
Ralf Jung
9d777d8410
add test for caller ABI check
2021-01-29 21:16:17 +01:00
Ralf Jung
0e56bff5f9
erroneous_const span now changes with inlining
2021-01-26 11:48:11 +01:00
Ralf Jung
7125b86c33
remove some unnecessary feature gates
2021-01-16 18:27:10 +01:00
Ralf Jung
a81ebd8fe3
rustup; add an interesting alias test case
2020-12-29 19:27:45 +01:00
JCTyBlaidd
aaf8ca4c77
Fix review changes
2020-12-13 11:04:58 +00:00
JCTyBlaidd
4e74f9f013
Change to disable mir-opt in compile-flags
2020-12-13 11:04:58 +00:00
JCTyBlaidd
a30105df0b
Defeat the mir-opt=3 optimizer.
2020-12-13 11:04:58 +00:00
JCTyBlaidd
8676c60f87
Update note
2020-12-13 11:04:58 +00:00
JCTyBlaidd
296ba8b1c8
Fix bug with reporting wrong thread for races with reads & add thread ids to data-race tests
2020-12-13 11:04:58 +00:00
JCTyblaidd
c4ccd0b6a1
Fix nits
...
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
2020-12-13 11:04:58 +00:00
JCTyBlaidd
f4bcef1113
Increase sleep times for the scheduler
2020-12-13 11:04:58 +00:00
JCTyBlaidd
c45b1b16be
More tests, fix issue 1643 and detect races with allocation.
2020-12-13 11:04:58 +00:00
Ralf Jung
27a518e166
enable track-raw-ptr tests on Windows
2020-12-11 11:28:33 +01:00
Ralf Jung
7bbd6bca77
rustup
2020-12-10 19:53:45 +01:00
JCTyBlaidd
a6f377e48e
Fix typo
2020-12-06 17:11:24 +00:00
JCTyBlaidd
4cf614ef33
Update release sequence handling to C++20 semantics.
2020-12-06 16:58:32 +00: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
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
db718d72ae
remove some unnecessary feature flags
2020-11-10 16:51:07 +01:00
JCTyBlaidd
2a40d9b7a0
More aggressive vector index re-use, and added some tests.
2020-11-06 17:29:54 +00:00
Ralf Jung
f31f00d5af
rustup
2020-11-05 17:09:44 +01: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
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
ed32b260f9
Add tests, and fix bug in atomic RMW relaxed stores
2020-11-02 02:57:06 +00:00
Ralf Jung
bf54607ba0
test raw pointer tracking; we cannot track raw pointers on Windows
2020-10-28 13:54:50 +01:00