about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2024-12-14Auto merge of #134296 - matthiaskrgr:rollup-o0sxozj, r=matthiaskrgrbors-0/+10
Rollup of 6 pull requests Successful merges: - #132150 (Fix powerpc64 big-endian FreeBSD ABI) - #133942 (Clarify how to use `black_box()`) - #134081 (Try to evaluate constants in legacy mangling) - #134192 (Remove `Lexer`'s dependency on `Parser`.) - #134208 (coverage: Tidy up creation of covmap and covfun records) - #134211 (On Neutrino QNX, reduce the need to set archiver via environment variables) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-14Rollup merge of #134211 - flba-eb:add_qnx_archiver, r=compiler-errorsMatthias Krüger-0/+10
On Neutrino QNX, reduce the need to set archiver via environment variables This adds support for automatically selecting the correct `ar` tool when compiling for Neutrino QNX. Once https://github.com/rust-lang/cc-rs/pull/1319 is merged and a new cc version is integrated, all environment variables of the [Neutrino documentation](https://github.com/rust-lang/rust/blob/stable/src/doc/rustc/src/platform-support/nto-qnx.md) can be removed. CC: ````````@jonathanpallant```````` ````````@japaric```````` ````````@gh-tr```````` ````````@AkhilTThomas````````
2024-12-14Rollup merge of #134240 - cuviper:dist-llvm-tools, r=jieyouxuMatthias Krüger-1/+1
Only dist `llvm-objcopy` if llvm tools are enabled This uses the same condition that #132720 added in the compilation phase. r? ``@jieyouxu``
2024-12-14Rollup merge of #134209 - onur-ozkan:check-skip-paths, r=jieyouxuMatthias Krüger-1/+25
validate `--skip` and `--exclude` paths Fixes #134198 cc ``@ChrisDenton``
2024-12-13Auto merge of #133899 - scottmcm:strip-mir-debuginfo, r=oli-obkbors-0/+5
We don't need `NonNull::as_ptr` debuginfo In order to stop pessimizing the use of local variables in core, skip debug info for MIR temporaries in tiny (single-BB) functions. For functions as simple as this -- `Pin::new`, etc -- nobody every actually wants debuginfo for them in the first place. They're more like intrinsics than real functions, and stepping over them is good.
2024-12-13validate `--skip` and `--exclude` pathsonur-ozkan-1/+25
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-12Only dist `llvm-objcopy` if llvm tools are enabledJosh Stone-1/+1
2024-12-12Rollup merge of #134207 - jieyouxu:revert-134040, r=lqdMatthias Krüger-153/+149
Revert "bootstrap: print{ln}! -> eprint{ln}! (take 2) #134040" Unfortunately, #134040 is proving to have caused more output interleaving problems that are tricky to diagnose and fix, and I think we probably should leave these untouched as bootstrap and compiletest has a bunch of interconnecting parts, and the commands and tools that they exercise do not consistently use stderr/stdout either. This causes hard-to-diagnose output interleaving bugs, which unfortunately degrades contributor experience. This PR reverts two PRs in order to cleanly revert #134040: 1. Revert #134123 which is a fix-forward after #134040. 2. Revert #134040 itself. I don't regret the initial effort `@clubby789,` and thank you for making the attempts, but I think we need to refrain from touching too many of these at once because some of the interleaving are very non-obvious and we don't have test coverage for. r? `@clubby789` cc `@Zalathar`
2024-12-12Reduce the need to set archiver via environment variablesFlorian Bartels-0/+10
2024-12-12Revert "Rollup merge of #134040 - clubby789:bootstrap-eprintln, r=jieyouxu"许杰友 Jieyou Xu (Joe)-154/+150
This reverts commit b282774aaf0aa05b4a9855d973b67e7e424c2136, reversing changes made to e0f3db0056288a06b1ae36cdd70741a4e0b3584a.
2024-12-12Revert "Rollup merge of #134123 - Zalathar:json-output, r=jieyouxu,clubby789"许杰友 Jieyou Xu (Joe)-1/+1
This reverts commit c42c248009747366e646a3ad1ce6e8f815ea7db2, reversing changes made to 0f1b827881d20ba08f72d692ccd3ff97a0e25851.
2024-12-12Rollup merge of #134173 - onur-ozkan:allow-symbol-intern-string-literal, ↵Matthias Krüger-6/+1
r=jieyouxu allow `symbol_intern_string_literal` lint in test modules Since #133545, `x check compiler --stage 1` no longer works because compiler test modules trigger `symbol_intern_string_literal` lint errors. Bootstrap shouldn't control when to ignore or enable this lint in the compiler tree (using `Kind != Test` was ineffective for obvious reasons). Also, conditionally adding this rustflag invalidates the build cache between `x test` and other commands. This PR removes the `Kind` check from bootstrap and handles it directly in the compiler tree in a more natural way.
2024-12-11remove `Kind` check for `symbol_intern_string_literal`onur-ozkan-6/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-10Auto merge of #134125 - fmease:rollup-u38o3ob, r=fmeasebors-13/+20
Rollup of 11 pull requests Successful merges: - #133478 (jsondocck: Parse, don't validate commands.) - #133967 ([AIX] Pass -bnoipath when adding rust upstream dynamic crates) - #133970 ([AIX] Replace sa_sigaction with sa_union.__su_sigaction for AIX) - #133980 ([AIX] Remove option "-n" from AIX "ln" command) - #134008 (Make `Copy` unsafe to implement for ADTs with `unsafe` fields) - #134017 (Don't use `AsyncFnOnce::CallOnceFuture` bounds for signature deduction) - #134023 (handle cygwin environment in `install::sanitize_sh`) - #134041 (Use SourceMap to load debugger visualizer files) - #134065 (Move `write_graphviz_results`) - #134106 (Add compiler-maintainers who requested to be on review rotation) - #134123 (bootstrap: Forward cargo JSON output to stdout, not stderr) Failed merges: - #134120 (Remove Felix from ping groups and review rotation) r? `@ghost` `@rustbot` modify labels: rollup
2024-12-10Rollup merge of #134123 - Zalathar:json-output, r=jieyouxu,clubby789León Orell Valerian Liehr-1/+1
bootstrap: Forward cargo JSON output to stdout, not stderr This fixes the RA errors I've been seeing on proc-macros after the re-landing of #134040. r? clubby789
2024-12-10Rollup merge of #134023 - onur-ozkan:132507, r=jieyouxuLeón Orell Valerian Liehr-12/+19
handle cygwin environment in `install::sanitize_sh` Resolves #132507
2024-12-10bootstrap: Forward cargo JSON output to stout, not stderrZalathar-1/+1
2024-12-10We don't need `NonNull::as_ptr` debuginfoScott McMurray-0/+5
Stop pessimizing the use of local variables in core by skipping debug info for MIR temporaries in tiny (single-BB) functions. For functions as simple as this -- `Pin::new`, etc -- nobody every actually wants debuginfo for them in the first place. They're more like intrinsics than real functions, and stepping over them is good.
2024-12-10Rollup merge of #133853 - onur-ozkan:use-vendor-directory-on-dist-build, ↵León Orell Valerian Liehr-1/+11
r=Kobzol use vendor sources by default on dist tarballs Tarball sources are distributed with vendor sources along with the `.cargo/config.toml` file configured for vendor sources. This means we can use vendor sources by default unless explicitly disabled with `build.vendor=false` by the user. So, let's do that.
2024-12-09bootstrap: `print{,ln}!` -> `eprint{,ln}!`clubby789-150/+154
2024-12-08handle cygwin environments in `install::sanitize_sh`onur-ozkan-12/+13
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-08implement `TargetSelection::is_cygwin` functiononur-ozkan-0/+6
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-06Rollup merge of #133875 - onur-ozkan:early-return-rustfmt, r=jieyouxuMatthias Krüger-11/+26
handle `--json-output` properly Because `rustfmt` doesn't support JSON output, `x test --json-output` doesn't respect the `--json-output` flag during formatting step. This change makes that `x test` skips the formatting step if `--json-output` is specified. In addition, resolves #133855 with the 2nd commit.
2024-12-06handle `json_output` in `test::run_cargo_test`onur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-06skip formatting when `--json-output` is usedonur-ozkan-11/+21
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-05Rollup merge of #133821 - Kobzol:replace-black-with-ruff, r=onur-ozkanGuillaume Gomez-452/+772
Replace black with ruff in `tidy` `ruff` can both lint and format Python code (in fact, it should be a mostly drop-in replacement for `black` in terms of formatting), so it's not needed to use `black` anymore. This PR removes `black` and replaces it with `ruff`, to get rid of one Python dependency, and also to make Python formatting faster (although that's a small thing). If we decide to merge this, we'll need to "reformat the world" - `ruff` is not perfectly compatible with `black`, and it also looks like `black` was actually ignoring some files before. I tried it locally (`./x test tidy --extra-checks=py:fmt --bless`) and it also reformatted some code in subtrees (e.g. `clippy` or `rustc_codegen_gcc`) - I'm not sure how to handle that.
2024-12-05Rollup merge of #133898 - onur-ozkan:ignore-git-hook-on-dist-sources, r=jieyouxuJacob Pratt-4/+6
skip `setup::Hook` on non-git sources Running `setup::Hook` (with `x setup`) leads tarball sources to panic and this PR resolves that problem by skipping `Hook` step on non-git sources.
2024-12-05Rollup merge of #133888 - ChrisDenton:job, r=jieyouxuJacob Pratt-26/+17
Improve bootstrap job objects This attempts to fix a few comments on bootstrap job objects. I also fixed an issue where if duplicating the job object handle into the python process failed, it would close the job object. This would then result in the job object closing all attached processes, which at that point includes the current process. The fix is to simply never close the job object handle at any point after the current process is assigned to it.
2024-12-05skip `setup::Hook` on non-git sourcesonur-ozkan-4/+6
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-05Revert "Rollup merge of #133817 - clubby789:bootstrap-eprintln, r=jieyouxu"Jieyou Xu-144/+140
This reverts commit 0585134e709de4a14e509158662fa569c155c195, reversing changes made to 5530869e0ff21d69e0eef1a4c4fd1f25bcbe7fbf. The PR unfortunately only converted the `ln!` instances, meaning that test output was messed up because stdout/stderr output interleaved when some `println!` instances were converted to `eprintln!` instances, while some `println!` instances remain unchanged.
2024-12-05Update comments on Windows job objectsChris Denton-4/+7
2024-12-05Nested job objects are now supported in CIChris Denton-9/+1
Nested job objects aren't supported on Windows 7 but we've long since moved on from that.
2024-12-05Never close a job after the process is assignedChris Denton-13/+9
2024-12-04Reformat Python code with `ruff`Jakub Beránek-452/+772
2024-12-04Rollup merge of #133856 - GuillaumeGomez:update-sysinfo, r=clubby789Matthias Krüger-8/+9
Update sysinfo version to 0.33.0
2024-12-04Rollup merge of #133737 - Walnut356:msvc_visualizers, r=onur-ozkanMatthias Krüger-14/+14
Include LLDB and GDB visualizers in MSVC distribution MSVC distributions currently don't include the lldb or GDB python files. MSVC and LLDB/GDB are not mutually exclusive (and end up being a common case with vscode + codelldb/lldb-dap), so they should probably be included. the existing visualizers currently only partially work on MSVC due to the differences in how the debug info is generated, but they also only partially work on GNU anyway - both of which are actively being fixed.
2024-12-04Update sysinfo version to 0.33.0Guillaume Gomez-8/+9
2024-12-04add a change entry for new default on `build.vendor`onur-ozkan-0/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-04use vendor sources by default on dist tarballsonur-ozkan-1/+6
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-04Rollup merge of #133817 - clubby789:bootstrap-eprintln, r=jieyouxuMatthias Krüger-140/+144
Use `eprintln` instead of `println` in bootstrap/compiletest/tidy A big unconditional CTRL-F replace to start with to check if there's anything that CI expects to be on stdout r? `@jieyouxu`
2024-12-03bootstrap: `println!` -> `eprintln!`clubby789-140/+144
2024-12-03Rollup merge of #133696 - RalfJung:const-hashmap, r=cuviperMatthias Krüger-0/+4
stabilize const_collections_with_hasher and build_hasher_default_const_new After a lot of preparatory work, finally we can stabilize creating `HashMap` in const context. :) FCP for const_collections_with_hasher passed in https://github.com/rust-lang/rust/issues/102575. Fixes https://github.com/rust-lang/rust/issues/102575. FCP for build_hasher_default_const_new passed in https://github.com/rust-lang/rust/issues/123197. Fixes https://github.com/rust-lang/rust/issues/123197. Cc `@Amanieu` Release notes: https://github.com/rust-lang/rust/issues/133347
2024-12-03Rollup merge of #133545 - clubby789:symbol-intern-lit, r=jieyouxuMatthias Krüger-0/+9
Lint against Symbol::intern on a string literal Disabled in tests where this doesn't make much sense
2024-12-03./x miri: fix sysroot buildRalf Jung-0/+4
2024-12-03Rollup merge of #132723 - jieyouxu:sysroot-dance-dance-revolution, r=onur-ozkanMatthias Krüger-45/+96
Unify `sysroot_target_{bin,lib}dir` handling Follow-up to https://github.com/rust-lang/rust/pull/131405#discussion_r1826558962 where `sysroot_target_bindir` had to do some dancing because the sysroot ensure logic embedded in `sysroot_target_libdir` returned `$sysroot/$relative_lib/rustlib/$target/lib` and not the `rustlib` parent `$sysroot/$relative_lib/rustlib/`. This PR pulls out the sysroot ensure logic into a helper, and return `$sysroot/$relative_lib/rustlib/` instead so `sysroot_target_bindir` doesn't have to do parent traversal from the path returned from `sysroot_target_libdir`, and also make them easier to follow in that they are now clearly closely related based on the common target sysroot ensure logic.
2024-12-02Rollup merge of #133705 - onur-ozkan:profiler-check, r=jieyouxuGuillaume Gomez-24/+51
add "profiler" and "optimized-compiler-builtins" option coverage for ci-rustc Adds "profiler" and "optimized-compiler-builtins" option coverage in CI-rustc config compatibility check. Resolves #133675
2024-12-02include LLDB and GDB visualizers in MSVC distributionWalnut-14/+14
2024-12-02add "optimized-compiler-builtins" option coverage for ci-rustconur-ozkan-6/+11
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-12-02Unify `sysroot_target_{bin,lib}dir` handlingJieyou Xu-45/+96
2024-12-01Rollup merge of #133712 - RalfJung:rust_analyzer_settings, r=jieyouxuJacob Pratt-0/+1
rust_analyzer_settings: force use of 'nightly' toolchain The cranelift folder contains a rust-toolchain file. That means when RA opens `compiler/rustc_codegen_cranelift/Cargo.toml`, it will try to use that toolchain or fail. (Maybe that toolchain gets auto-installed for others? On my system, it just fails, but I also run vscodium in a sandbox.) However, it shouldn't be necessary to use more than one toolchain for the rustc workspace. So we can set the `RUSTUP_TOOLCHAIN` variable on the server side to force the same toolchain to be used everywhere. Suggested by `@ChayimFriedman2` in https://github.com/rust-lang/rust-analyzer/issues/18585.