Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make miri a subtree instead of a submodule #102028

Merged
merged 5,441 commits into from
Sep 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5441 commits
Select commit Hold shift + click to select a range
530abac
Auto merge of #2447 - RalfJung:rustup, r=RalfJung
bors Jul 27, 2022
622613f
Use real exec on cfg(unix) targets
saethlin Jul 23, 2022
a719c05
Auto merge of #2426 - saethlin:unix-exec, r=RalfJung
bors Jul 28, 2022
38e7bcf
Use cargo_metadata in cargo-miri
avrong Jul 29, 2022
01a6109
Fix formatting
avrong Jul 29, 2022
44dc49f
Auto merge of #2450 - avrong:cargo-metadata, r=oli-obk
bors Jul 29, 2022
66f6fa6
Fix typo in eval.rs
Hiroki6 Jul 31, 2022
8aab6bb
Auto merge of #2452 - Hiroki6:eval-rs-comments-typo, r=RalfJung
bors Jul 31, 2022
f6badf0
rustup
RalfJung Aug 1, 2022
9ffea91
clippy
RalfJung Aug 1, 2022
7865255
Auto merge of #2453 - RalfJung:rustup, r=RalfJung
bors Aug 1, 2022
b43bede
Add shim for `realpath` on unix
LegNeato Jun 30, 2022
8356f4c
output realpath as a path, and remove a bogus test
RalfJung Aug 2, 2022
87b9075
avoid double-space in test logging
RalfJung Aug 2, 2022
25df001
Auto merge of #2458 - RalfJung:less-space, r=RalfJung
bors Aug 2, 2022
9f4612a
Auto merge of #2457 - RalfJung:realpath, r=RalfJung
bors Aug 2, 2022
b29e7b8
Add `mkstemp` shim for unix
LegNeato Jul 8, 2022
c24c638
Auto merge of #2346 - LegNeato:mkstemp, r=RalfJung
bors Aug 3, 2022
29e9a8a
split cargo-miri into multiple files
RalfJung Aug 3, 2022
730a799
Auto merge of #2459 - RalfJung:cargo-miri-split, r=RalfJung
bors Aug 3, 2022
9154f8b
Add additional raw error mappings for the nightly `io_error_more` fea…
LegNeato Aug 3, 2022
e1e1f42
make errno table syntactically more similar to rustc library code
RalfJung Aug 3, 2022
1a87926
Auto merge of #2460 - LegNeato:sysconf, r=RalfJung
bors Aug 3, 2022
6d14a5e
avoid strerror_r failure on unknown errnum
RalfJung Aug 5, 2022
74c5f1b
Auto merge of #2465 - RalfJung:strerror_r, r=RalfJung
bors Aug 6, 2022
d7875ea
fix an ICE in nanosleep()
RalfJung Aug 6, 2022
4208764
Auto merge of #2466 - RalfJung:longsleep, r=RalfJung
bors Aug 6, 2022
d61e55a
add support for env::home_dir
RalfJung Aug 6, 2022
889c073
really, clippy?!?
RalfJung Aug 6, 2022
d6b750e
Auto merge of #2467 - RalfJung:home, r=RalfJung
bors Aug 6, 2022
5a4ac1e
work around apfloat bug in FMA by using host floats instead
RalfJung Aug 6, 2022
b1316ec
support and test some more math functions
RalfJung Aug 6, 2022
f633537
Auto merge of #2469 - RalfJung:math, r=RalfJung
bors Aug 6, 2022
61be3ba
support current_exe on macOS, and fix write_os_str length logic
RalfJung Aug 6, 2022
f8449c2
stop excluding TERM env var on Unix
RalfJung Aug 6, 2022
437d241
move tests covering the env:: module into their own directory
RalfJung Aug 6, 2022
79d147e
make home_dir work on macOS
RalfJung Aug 6, 2022
f0cd098
Auto merge of #2470 - RalfJung:macos-env, r=RalfJung
bors Aug 6, 2022
353f7d5
add special exception for std_miri_test crate to call std-only functions
RalfJung Aug 4, 2022
76d99c3
fix RUSTC_BACKTRACE always being set
RalfJung Aug 6, 2022
d2ba40e
make tests pass again
RalfJung Aug 6, 2022
141d5a6
avoid panic/panic folder
RalfJung Aug 6, 2022
aa53f3f
Auto merge of #2472 - RalfJung:backtrace, r=RalfJung
bors Aug 6, 2022
e12df0f
also forward --manifest-path to 'cargo metadata'
RalfJung Aug 6, 2022
4655382
reuse arg flag parse logic in rustdoc handling
RalfJung Aug 6, 2022
08e7d94
avoid some string copies...
RalfJung Aug 7, 2022
04744a2
fix CI benchmark checks
RalfJung Aug 7, 2022
a522442
Auto merge of #2474 - RalfJung:cargo-metadata-args, r=RalfJung
bors Aug 7, 2022
366d11b
enable rustc lints
RalfJung Aug 7, 2022
b36b5e3
fix rustc lints in Miri
RalfJung Aug 7, 2022
5b22aa7
Auto merge of #2475 - RalfJung:rustc-lints, r=RalfJung
bors Aug 7, 2022
0f1ce43
clarifying comments for target-dir handling
RalfJung Aug 7, 2022
94b6aaf
Auto merge of #2476 - RalfJung:target-dir, r=RalfJung
bors Aug 7, 2022
5ead47e
rustup
RalfJung Aug 8, 2022
654e15b
Auto merge of #2471 - RalfJung:term, r=RalfJung
bors Aug 8, 2022
12e3f75
don't make it qutie so easy to get Miri to panic
RalfJung Aug 8, 2022
1164815
make cargo-miri show_error a bit nicer to use
RalfJung Aug 8, 2022
b99d7bc
avoid intermediate allocations in show_error macro
RalfJung Aug 8, 2022
df3c141
Auto merge of #2477 - RalfJung:show-error, r=RalfJung
bors Aug 8, 2022
d630671
move atomic access alginment check to helper function and inside atom…
RalfJung Aug 5, 2022
cd2edbf
ensure atomics happen on mutable allocations, and fix futex test
RalfJung Aug 5, 2022
927ab19
make some operations private to the data race detector / atomic intri…
RalfJung Aug 5, 2022
43d3963
more detailed error message
RalfJung Aug 7, 2022
a1f5a75
rustup
RalfJung Aug 9, 2022
5aef34c
Auto merge of #2464 - RalfJung:atomic-must-be-mutable, r=RalfJung
bors Aug 9, 2022
591274b
rustup
RalfJung Aug 10, 2022
78cbda3
Auto merge of #2461 - RalfJung:frame-in-std, r=RalfJung
bors Aug 10, 2022
39ee574
Auto merge of #2478 - RalfJung:rustup, r=RalfJung
bors Aug 10, 2022
23cd7b8
rustup for pthread_setname_np on Linux
RalfJung Aug 11, 2022
38a4953
remove prctl, now that std does not use it any more
RalfJung Aug 11, 2022
96049ef
move a bunch of type information into the respective shim
RalfJung Aug 11, 2022
403b3f9
Auto merge of #2480 - RalfJung:rustup, r=RalfJung
bors Aug 11, 2022
74e87b1
add test for raw_eq on a pointer
RalfJung Aug 12, 2022
4e1bc7e
Auto merge of #2482 - RalfJung:raw-eq, r=RalfJung
bors Aug 12, 2022
e75b2c8
Breaking posix_memalign precondition is not UB
5225225 Aug 13, 2022
7df41a7
rustup
RalfJung Aug 13, 2022
d59bad9
fix data_race test
RalfJung Aug 13, 2022
50ef22a
Auto merge of #2484 - RalfJung:rustup, r=RalfJung
bors Aug 13, 2022
e70473d
rustup
RalfJung Aug 14, 2022
a000764
Auto merge of #2487 - RalfJung:rustup, r=RalfJung
bors Aug 14, 2022
297ddff
add test that we do not merge neighboring SRW
RalfJung Aug 15, 2022
79ebfa2
make Miri build without the stack-cache feature
RalfJung Aug 15, 2022
2e3da5d
check no-default-features and all-features build on CI
RalfJung Aug 15, 2022
db43ee5
defend test against overly smart Miri
RalfJung Aug 16, 2022
793f198
Auto merge of #2489 - RalfJung:srw-merging, r=saethlin
bors Aug 16, 2022
7c18b38
Rename memory hooks
saethlin Aug 15, 2022
3992f06
rustup
saethlin Aug 16, 2022
39c606f
Auto merge of #2488 - saethlin:rename-memory-hooks, r=RalfJung
bors Aug 16, 2022
ecb8ac5
make sure all builds are locked on CI
RalfJung Aug 16, 2022
ac655ce
Auto merge of #2490 - RalfJung:ci, r=RalfJung
bors Aug 16, 2022
31b95dd
Auto merge of #2485 - 5225225:memalign, r=RalfJung
bors Aug 17, 2022
b4bdd5c
fix vscode configuration
RalfJung Aug 17, 2022
b8f6178
Auto merge of #2491 - RalfJung:vscode, r=RalfJung
bors Aug 17, 2022
38002b6
organize shim tests into shims folder
RalfJung Aug 18, 2022
7c856f8
move libc pthread tests into separate file
RalfJung Aug 18, 2022
83953f5
remove unneeded rustc_private feature
RalfJung Aug 18, 2022
ed41f1c
remove some leftover //ignore that did not do anything
RalfJung Aug 18, 2022
af033ea
Auto merge of #2492 - RalfJung:tests, r=RalfJung
bors Aug 18, 2022
b6fc2fc
basic theading
beepster4096 May 25, 2022
08ffbb8
fix windows join/detach and add tests
beepster4096 Jul 15, 2022
9f69c41
rewrite handle impl again
beepster4096 Jul 16, 2022
d34242e
fix various issues
beepster4096 Aug 1, 2022
a05a8eb
add very basic Android support
RalfJung Aug 18, 2022
3ec8dd8
implement setting the thread name on freebsd
RalfJung Aug 18, 2022
4359f43
make abort-on-panic work on Android
RalfJung Aug 18, 2022
5e10f14
clippy...
RalfJung Aug 18, 2022
339500f
Auto merge of #2493 - RalfJung:android, r=RalfJung
bors Aug 18, 2022
c466ac0
add some missing assert_target_os
RalfJung Aug 18, 2022
46da748
Auto merge of #2231 - DrMeepster:winfred, r=RalfJung
bors Aug 18, 2022
14e72e7
Improve information sharing across SB diagnostics
saethlin May 22, 2022
17fc52a
Clean up diff churn a bit, adjust comments
saethlin Aug 16, 2022
15a4f0a
some CurrentSpan cleanup
saethlin Aug 17, 2022
7397c8e
re-bless after rebase
RalfJung Aug 18, 2022
09118da
Auto merge of #2454 - saethlin:diagnostics-cleanup, r=RalfJung
bors Aug 18, 2022
53037a7
allow NOP-casts with mismatching vtables
RalfJung Aug 6, 2022
cf04c1f
rustup
RalfJung Aug 20, 2022
1a03e30
Auto merge of #2473 - RalfJung:dyn-upcast-nop, r=RalfJung
bors Aug 20, 2022
0c3ad68
add ./miri cargo for RA to invoke
RalfJung Aug 19, 2022
ab88e64
Auto merge of #2495 - RalfJung:ra, r=RalfJung
bors Aug 20, 2022
b073fe2
move vector_clock and sync into concurrency & make vector_clock private
Hiroki6 Aug 21, 2022
8ee6849
rustfmt
Hiroki6 Aug 21, 2022
7b07162
Auto merge of #2500 - Hiroki6:make-vector-clock-private, r=RalfJung
bors Aug 21, 2022
8497fd4
pass clippy::integer_arithmetic in our shims
RalfJung Jul 23, 2022
6e306f9
Auto merge of #2441 - RalfJung:arithmetic, r=oli-obk
bors Aug 22, 2022
daaa81f
document general shim pattern
RalfJung Aug 12, 2022
a109994
Auto merge of #2481 - RalfJung:shim-pattern, r=oli-obk
bors Aug 22, 2022
afacf62
notes on TLS dtor order
RalfJung Aug 22, 2022
e0f0e1f
Auto merge of #2503 - RalfJung:tls-dtor-order, r=RalfJung
bors Aug 22, 2022
5259fb9
move thread.rs into concurrency
Hiroki6 Aug 22, 2022
2107cbb
reorganize imports a bit
RalfJung Aug 22, 2022
53138c6
Auto merge of #2504 - Hiroki6:move-thread-to-concurrency-module, r=Ra…
bors Aug 22, 2022
1914b61
cope with rustc aborting due to a signal
RalfJung Aug 23, 2022
9f99aa9
Auto merge of #2505 - RalfJung:ui-test, r=oli-obk
bors Aug 23, 2022
6f8885e
Run `pass` tests without building dependencies first
oli-obk Jul 27, 2022
d095429
Auto merge of #2448 - oli-obk:test_crates_on_their_own, r=RalfJung
bors Aug 25, 2022
fb071a1
Use ui_test from crates.io instead of having it in-tree
oli-obk Aug 25, 2022
d5853bc
Auto merge of #2449 - oli-obk:ui_test_subtree_sync, r=RalfJung
bors Aug 25, 2022
88a7882
C FFI support for functions with int args and returns
Aug 26, 2022
6418501
Auto merge of #2363 - emarteca:int-function-args-returns, r=oli-obk
bors Aug 26, 2022
10a1a59
fix data race error during env var cleanup
RalfJung Aug 26, 2022
515038e
Auto merge of #2509 - RalfJung:env-data-race, r=RalfJung
bors Aug 26, 2022
fa1e51a
Fix merge conflict
oli-obk Aug 26, 2022
4ae6874
Auto merge of #2510 - oli-obk:merge_conflict, r=oli-obk
bors Aug 26, 2022
4e017b5
fix host/target check for extern-so
RalfJung Aug 26, 2022
8280233
rename test to match usual naming conventions
RalfJung Aug 26, 2022
235036f
nicer errors
RalfJung Aug 26, 2022
101c4f2
Auto merge of #2511 - RalfJung:extern-so, r=RalfJung
bors Aug 26, 2022
3a2252b
adjust for earlier init checking in the core engine
RalfJung Aug 2, 2022
df19b85
rustup
RalfJung Aug 27, 2022
bb82124
Auto merge of #2455 - RalfJung:scalar-always-init, r=RalfJung
bors Aug 27, 2022
f4ba8b1
Improve SC comments
cbeuw Aug 24, 2022
01dffe0
Remove useless store buffer search logging
cbeuw Aug 24, 2022
a2467c9
Add C++20 SC access test
cbeuw Aug 24, 2022
0f9e009
Fix C++20 SC access unsoundness
cbeuw Aug 26, 2022
6dea99e
Supress clippy error
cbeuw Aug 27, 2022
b4eff16
ensure we don't compare provenance
RalfJung Aug 27, 2022
12907ab
Auto merge of #2514 - RalfJung:dont-compare, r=RalfJung
bors Aug 27, 2022
d39b683
dont rerun build script unnecessarily
RalfJung Aug 27, 2022
74d99ab
Auto merge of #2515 - RalfJung:build, r=RalfJung
bors Aug 27, 2022
3e97d8e
Comment deviations from the paper
cbeuw Aug 28, 2022
8866513
Auto merge of #2512 - cbeuw:scfix, r=RalfJung
bors Aug 28, 2022
abe890d
slightly improve protector-related error messages
RalfJung Aug 27, 2022
fec1c7a
Auto merge of #2513 - RalfJung:protected, r=saethlin
bors Aug 28, 2022
70b960b
Skip field retagging on ZSTs, it can take forever
saethlin Aug 28, 2022
c9b36b4
clarify test purpose
RalfJung Aug 29, 2022
284b59c
Auto merge of #2517 - saethlin:zst-field-retagging, r=RalfJung
bors Aug 29, 2022
da0d482
Use the better FnEntry spans in protector errors
saethlin Aug 29, 2022
da45adc
Auto merge of #2519 - saethlin:rustup, r=RalfJung
bors Aug 31, 2022
b74654f
Bump UI test dependency
oli-obk Aug 31, 2022
eafc100
Bump ui_test to 0.3.1
oli-obk Aug 31, 2022
240f92a
add comment
RalfJung Aug 31, 2022
feeeba2
Auto merge of #2521 - oli-obk:bump_ui_test, r=RalfJung
bors Aug 31, 2022
4cb26af
fix progress report being deduplicated
RalfJung Aug 31, 2022
671a4b8
make backtrace header a bit more visible
RalfJung Aug 31, 2022
1135ad3
make shim_arg_size ptr-width-independent
RalfJung Aug 31, 2022
95b315d
Auto merge of #2524 - RalfJung:progress-report, r=RalfJung
bors Aug 31, 2022
d21b601
make Miri build again with rustc provenance changes
RalfJung Aug 27, 2022
0113f9e
rustup
RalfJung Aug 31, 2022
0da5f76
Auto merge of #2516 - RalfJung:read-pointer-as-bytes, r=RalfJung
bors Aug 31, 2022
3cfb991
Add a protector test that demonstrates the base tag diagnostic
saethlin Aug 31, 2022
e12962b
Zulip notifications: ping the Miri team
RalfJung Sep 1, 2022
8218248
Auto merge of #2525 - RalfJung:zulip, r=RalfJung
bors Sep 1, 2022
2d50443
Auto merge of #2523 - saethlin:protector-test, r=RalfJung
bors Sep 1, 2022
5f3545e
disable extern-so ffi support for now due to licensing situation
RalfJung Sep 1, 2022
8c8b479
Auto merge of #2527 - RalfJung:noffi, r=RalfJung
bors Sep 1, 2022
2f348ab
Revert "disable extern-so ffi support for now due to licensing situat…
RalfJung Sep 2, 2022
92c24c4
Auto merge of #2529 - RalfJung:yesffi, r=RalfJung
bors Sep 2, 2022
7155a21
Rustup
oli-obk Sep 2, 2022
6a29a68
Clippy after rustup
oli-obk Sep 2, 2022
169569c
tweak variable name
RalfJung Sep 2, 2022
dba35d2
Auto merge of #2530 - oli-obk:rustup, r=RalfJung
bors Sep 2, 2022
c011126
Fix build with `#[unix_sigpipe = "..."]` support in rustc
Enselic Sep 3, 2022
9073179
Auto merge of #2532 - Enselic:fix-build-with-unix_sigpipe, r=RalfJung
bors Sep 3, 2022
ee1c1e6
Add support for BCRYPT_RNG_ALG_HANDLE
saethlin Sep 3, 2022
ec43f1d
Auto merge of #2533 - saethlin:windows-rng, r=ChrisDenton
bors Sep 3, 2022
4f30af5
rustup: bring in Miri backtrace-rs pruning fix
saethlin Sep 3, 2022
b8a97c4
Auto merge of #2534 - saethlin:rustup, r=saethlin
bors Sep 3, 2022
f9ff70c
Rustup
oli-obk Sep 7, 2022
ef3f649
Auto merge of #2535 - oli-obk:rustup, r=oli-obk
bors Sep 7, 2022
e91db9f
Rustup
oli-obk Sep 10, 2022
beed5ed
Auto merge of #2539 - oli-obk:rustup, r=oli-obk
bors Sep 10, 2022
d61d4c6
Implement -Zmiri-tag-gc a garbage collector for tags
saethlin Aug 11, 2022
f59605c
In CI set the GC interval to 1 for Linux only
saethlin Sep 5, 2022
f6cbba1
fix typo
lengyijun Sep 13, 2022
3886a63
Auto merge of #2542 - lengyijun:patch-2, r=oli-obk
bors Sep 13, 2022
a00fa96
Auto merge of #2479 - saethlin:tag-gc, r=oli-obk
bors Sep 13, 2022
93e41f6
Linux has more testing, we should do the extra checks there
saethlin Sep 13, 2022
aebfbf2
fix typo
bors Sep 13, 2022
c7f7bc0
Auto merge of #2541 - lengyijun:patch-1, r=RalfJung
bors Sep 13, 2022
7e66a9f
Auto merge of #2543 - saethlin:be-slow-on-linux, r=oli-obk
bors Sep 13, 2022
6a37643
make `sleep` work with isolation enabled
pvdrz Aug 23, 2022
ad69e0b
hide all enums inside kind types
pvdrz Aug 29, 2022
f5e2f73
move clock stuff to separate file
RalfJung Sep 1, 2022
bc307b4
organize clock arithmetic more like the stdlib
RalfJung Sep 1, 2022
613a436
add extra sanity check against depending on system time with isolatio…
RalfJung Sep 1, 2022
b16d301
test fast sleeping
RalfJung Sep 1, 2022
c834637
address review comments
pvdrz Sep 12, 2022
2f1fa12
Auto merge of #2506 - pvdrz:a-really-bad-clock, r=saethlin
bors Sep 13, 2022
a094296
don't use egrep, we don't need it
saethlin Sep 15, 2022
bb3bac0
Auto merge of #2544 - saethlin:egrep, r=saethlin
bors Sep 15, 2022
7fdd924
add/fix some comments
RalfJung Sep 18, 2022
fd05ff5
Auto merge of #2546 - RalfJung:comments, r=RalfJung
bors Sep 18, 2022
1a95556
note on deterministic 'fake' API implementations
RalfJung Sep 18, 2022
0def954
Auto merge of #2547 - RalfJung:fake-apis, r=saethlin
bors Sep 19, 2022
f0c6f0d
rustup
RalfJung Sep 19, 2022
855a2ad
give macOS more time
RalfJung Sep 19, 2022
4b9463c
Auto merge of #2551 - RalfJung:rustup, r=RalfJung
bors Sep 19, 2022
3cb27f5
avoid thread-local var indirection for non-halting diagnostics
RalfJung Sep 18, 2022
cc149c7
put a tcx into the Machine so that we have to pass around fewer things
RalfJung Sep 19, 2022
5ca1f85
make some names more consistent
RalfJung Sep 19, 2022
7687b7e
rustup, fmt
RalfJung Sep 20, 2022
d9ad25e
Auto merge of #2548 - RalfJung:remove-tls-diagnostics-hack, r=RalfJung
bors Sep 20, 2022
bacf131
remove Windows TERM env var hack and -Zmiri-env-exclude
RalfJung Sep 20, 2022
dd80b1a
work harder around notorious macos unrealiability
RalfJung Sep 20, 2022
dfa6f88
Auto merge of #2552 - RalfJung:env-term, r=oli-obk
bors Sep 20, 2022
42523d9
make a sync test more reliable
RalfJung Sep 20, 2022
eb84c8b
Auto merge of #2553 - RalfJung:macos-is-a-pain, r=RalfJung
bors Sep 20, 2022
369efd0
Lint fixes
oli-obk Sep 19, 2022
4f35795
Only support libffi on unix for now
oli-obk Sep 21, 2022
351afbb
Auto merge of #2555 - oli-obk:libffi-is-unhappy, r=RalfJung
bors Sep 21, 2022
33284ec
remove unnecessary to_string
RalfJung Sep 21, 2022
c672c35
format > to_string
RalfJung Sep 21, 2022
75dd959
Auto merge of #2557 - RalfJung:triple-to-string, r=RalfJung
bors Sep 21, 2022
d9382d0
Remove miri submodule
oli-obk Sep 19, 2022
6cfa7ef
Remove miri from the submodule list and require it for CI to pass
oli-obk Sep 19, 2022
7e23244
HACK: Treat miri as if it were a submodule
oli-obk Sep 20, 2022
3f3167f
miri is not in toolstate any more
RalfJung Sep 20, 2022
f45b570
Add 'src/tools/miri/' from commit '75dd959a3a40eb5b4574f8d2e23aa6efbe…
oli-obk Sep 21, 2022
47cb378
Remove unused imports
oli-obk Sep 20, 2022
2ce88a5
Allow miri docs to keep failing for now
oli-obk Sep 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
[submodule "src/doc/book"]
path = src/doc/book
url = /~https://github.com/rust-lang/book.git
[submodule "src/tools/miri"]
path = src/tools/miri
url = /~https://github.com/rust-lang/miri.git
[submodule "src/doc/rust-by-example"]
path = src/doc/rust-by-example
url = /~https://github.com/rust-lang/rust-by-example.git
Expand Down
2 changes: 1 addition & 1 deletion src/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ This directory contains the source code of the rust project, including:

- The test suite
- The bootstrapping build system
- Various submodules for tools, like cargo, miri, etc.
- Various submodules for tools, like cargo, etc.

For more information on how various parts of the compiler work, see the [rustc dev guide].

Expand Down
2 changes: 2 additions & 0 deletions src/bootstrap/check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -456,6 +456,8 @@ tool_check_step!(Rustdoc, "src/tools/rustdoc", "src/librustdoc", SourceType::InT
// behavior, treat it as in-tree so that any new warnings in clippy will be
// rejected.
tool_check_step!(Clippy, "src/tools/clippy", SourceType::InTree);
// Miri on the other hand is treated as out of tree, since InTree also causes it to
// be run as part of `check`, which can fail on platforms which libffi-sys has no support for.
tool_check_step!(Miri, "src/tools/miri", SourceType::Submodule);
tool_check_step!(Rls, "src/tools/rls", SourceType::InTree);
tool_check_step!(Rustfmt, "src/tools/rustfmt", SourceType::InTree);
Expand Down
83 changes: 28 additions & 55 deletions src/bootstrap/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,6 @@ pub fn tmpdir(builder: &Builder<'_>) -> PathBuf {
builder.out.join("tmp/dist")
}

fn missing_tool(tool_name: &str, skip: bool) {
if skip {
println!("Unable to build {}, skipping dist", tool_name)
} else {
let help = "note: not all tools are available on all nightlies\nhelp: see https://forge.rust-lang.org/infra/toolstate.html for more information";
panic!(
"Unable to build submodule tool {} (use `missing-tools = true` to ignore this failure)\n{}",
tool_name, help
)
}
}

fn should_build_extended_tool(builder: &Builder<'_>, tool: &str) -> bool {
if !builder.config.extended {
return false;
Expand Down Expand Up @@ -1209,18 +1197,9 @@ impl Step for Miri {
let compiler = self.compiler;
let target = self.target;

let miri = builder
.ensure(tool::Miri { compiler, target, extra_features: Vec::new() })
.or_else(|| {
missing_tool("miri", builder.build.config.missing_tools);
None
})?;
let cargomiri = builder
.ensure(tool::CargoMiri { compiler, target, extra_features: Vec::new() })
.or_else(|| {
missing_tool("cargo miri", builder.build.config.missing_tools);
None
})?;
let miri = builder.ensure(tool::Miri { compiler, target, extra_features: Vec::new() })?;
let cargomiri =
builder.ensure(tool::CargoMiri { compiler, target, extra_features: Vec::new() })?;

let mut tarball = Tarball::new(builder, "miri", &target.triple);
tarball.set_overlay(OverlayKind::Miri);
Expand Down Expand Up @@ -1451,7 +1430,7 @@ impl Step for Extended {

let xform = |p: &Path| {
let mut contents = t!(fs::read_to_string(p));
for tool in &["rust-demangler", "rust-analyzer", "miri", "rustfmt"] {
for tool in &["rust-demangler", "rust-analyzer", "rustfmt"] {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you go ahead and remove rust-analyzer and rustfmt while you're at it? they're both subtrees now too :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤦 yea, will do

if !built_tools.contains(tool) {
contents = filter(&contents, tool);
}
Expand Down Expand Up @@ -1491,7 +1470,8 @@ impl Step for Extended {
prepare("rust-std");
prepare("rust-analysis");
prepare("clippy");
for tool in &["rust-docs", "rust-demangler", "rust-analyzer", "miri"] {
prepare("miri");
for tool in &["rust-docs", "rust-demangler", "rust-analyzer"] {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Suggested change
for tool in &["rust-docs", "rust-demangler", "rust-analyzer"] {
for tool in &["rust-docs", "rust-demangler"] {

if built_tools.contains(tool) {
prepare(tool);
}
Expand Down Expand Up @@ -1550,7 +1530,8 @@ impl Step for Extended {
prepare("rust-docs");
prepare("rust-std");
prepare("clippy");
for tool in &["rust-demangler", "rust-analyzer", "miri"] {
prepare("miri");
for tool in &["rust-demangler", "rust-analyzer"] {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto; and also on line 1618 below.

if built_tools.contains(tool) {
prepare(tool);
}
Expand Down Expand Up @@ -1689,25 +1670,23 @@ impl Step for Extended {
.arg(etc.join("msi/remove-duplicates.xsl")),
);
}
if built_tools.contains("miri") {
builder.run(
Command::new(&heat)
.current_dir(&exe)
.arg("dir")
.arg("miri")
.args(&heat_flags)
.arg("-cg")
.arg("MiriGroup")
.arg("-dr")
.arg("Miri")
.arg("-var")
.arg("var.MiriDir")
.arg("-out")
.arg(exe.join("MiriGroup.wxs"))
.arg("-t")
.arg(etc.join("msi/remove-duplicates.xsl")),
);
}
builder.run(
Command::new(&heat)
.current_dir(&exe)
.arg("dir")
.arg("miri")
.args(&heat_flags)
.arg("-cg")
.arg("MiriGroup")
.arg("-dr")
.arg("Miri")
.arg("-var")
.arg("var.MiriDir")
.arg("-out")
.arg(exe.join("MiriGroup.wxs"))
.arg("-t")
.arg(etc.join("msi/remove-duplicates.xsl")),
);
builder.run(
Command::new(&heat)
.current_dir(&exe)
Expand Down Expand Up @@ -1755,6 +1734,7 @@ impl Step for Extended {
.arg("-dStdDir=rust-std")
.arg("-dAnalysisDir=rust-analysis")
.arg("-dClippyDir=clippy")
.arg("-dMiriDir=miri")
.arg("-arch")
.arg(&arch)
.arg("-out")
Expand All @@ -1768,9 +1748,6 @@ impl Step for Extended {
if built_tools.contains("rust-analyzer") {
cmd.arg("-dRustAnalyzerDir=rust-analyzer");
}
if built_tools.contains("miri") {
cmd.arg("-dMiriDir=miri");
}
if target.ends_with("windows-gnu") {
cmd.arg("-dGccDir=rust-mingw");
}
Expand All @@ -1784,15 +1761,13 @@ impl Step for Extended {
candle("CargoGroup.wxs".as_ref());
candle("StdGroup.wxs".as_ref());
candle("ClippyGroup.wxs".as_ref());
candle("MiriGroup.wxs".as_ref());
if built_tools.contains("rust-demangler") {
candle("RustDemanglerGroup.wxs".as_ref());
}
if built_tools.contains("rust-analyzer") {
candle("RustAnalyzerGroup.wxs".as_ref());
}
if built_tools.contains("miri") {
candle("MiriGroup.wxs".as_ref());
}
candle("AnalysisGroup.wxs".as_ref());

if target.ends_with("windows-gnu") {
Expand Down Expand Up @@ -1822,6 +1797,7 @@ impl Step for Extended {
.arg("StdGroup.wixobj")
.arg("AnalysisGroup.wixobj")
.arg("ClippyGroup.wixobj")
.arg("MiriGroup.wixobj")
.current_dir(&exe);

if built_tools.contains("rust-analyzer") {
Expand All @@ -1830,9 +1806,6 @@ impl Step for Extended {
if built_tools.contains("rust-demangler") {
cmd.arg("RustDemanglerGroup.wixobj");
}
if built_tools.contains("miri") {
cmd.arg("MiriGroup.wixobj");
}

if target.ends_with("windows-gnu") {
cmd.arg("GccGroup.wixobj");
Expand Down
11 changes: 4 additions & 7 deletions src/bootstrap/install.rs
Original file line number Diff line number Diff line change
Expand Up @@ -200,13 +200,10 @@ install!((self, builder, _config),
install_sh(builder, "clippy", self.compiler.stage, Some(self.target), &tarball);
};
Miri, alias = "miri", Self::should_build(_config), only_hosts: true, {
if let Some(tarball) = builder.ensure(dist::Miri { compiler: self.compiler, target: self.target }) {
install_sh(builder, "miri", self.compiler.stage, Some(self.target), &tarball);
} else {
builder.info(
&format!("skipping Install miri stage{} ({})", self.compiler.stage, self.target),
);
}
let tarball = builder
.ensure(dist::Miri { compiler: self.compiler, target: self.target })
.expect("missing miri");
install_sh(builder, "miri", self.compiler.stage, Some(self.target), &tarball);
};
Rustfmt, alias = "rustfmt", Self::should_build(_config), only_hosts: true, {
if let Some(tarball) = builder.ensure(dist::Rustfmt {
Expand Down
9 changes: 2 additions & 7 deletions src/bootstrap/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -540,13 +540,8 @@ impl Build {

// Make sure we update these before gathering metadata so we don't get an error about missing
// Cargo.toml files.
let rust_submodules = [
"src/tools/rust-installer",
"src/tools/cargo",
"src/tools/miri",
"library/backtrace",
"library/stdarch",
];
let rust_submodules =
["src/tools/rust-installer", "src/tools/cargo", "library/backtrace", "library/stdarch"];
for s in rust_submodules {
build.update_submodule(Path::new(s));
}
Expand Down
Loading