about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2023-04-11Rollup merge of #110155 - DaniPopes:rest-typos, r=jyn514Michael Goulet-1/+1
Fix typos in librustdoc, tools and config files I used [`typos`](https://github.com/crate-ci/typos) to fix all typos, minus the ones present in #110153 and in #110154. Refs #110150
2023-04-11Rollup merge of #110113 - jyn514:download-rustc-cross, r=albertlarsan68Michael Goulet-3/+3
Fix `x test ui --target foo` when download-rustc is enabled Previously, we would never build the target std, only the host std: ``` ; x t tests/ui/attributes --target wasm32-unknown-unknown Building bootstrap Finished dev [unoptimized] target(s) in 0.02s Building stage0 library artifacts (x86_64-unknown-linux-gnu) Finished release [optimized] target(s) in 0.08s Building tool compiletest (stage0) Finished release [optimized] target(s) in 0.09s Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> wasm32-unknown-unknown) thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { depth: 0, inner: Io { path: Some("/home/jyn/src/rust2/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/wasm32-unknown-unknown/lib"), err: Os { code: 2, kind: NotFound, message: "No such file or directory" } } }', src/tools/compiletest/src/main.rs:842:31 ``` Helps with https://github.com/rust-lang/rust/issues/81930.
2023-04-11Rollup merge of #110018 - jfgoog:host-and-target-linker, r=wesleywiserMichael Goulet-1/+4
Pass host linker to compiletest. Tests marked `// force-host` were using the default linker, even if a custom linker was configured in config.toml. This change adds a new flag, --host-linker, to compiletest, and renames --linker to --target-linker.
2023-04-11Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiserMichael Goulet-2/+4
Initial support for loongarch64-unknown-linux-gnu Hi, We hope to add a new port in rust for LoongArch. LoongArch intro LoongArch is a RISC style ISA which is independently designed by Loongson Technology in China. It is divided into two versions, the 32-bit version (LA32) and the 64-bit version (LA64). LA64 applications have application-level backward binary compatibility with LA32 applications. LoongArch is composed of a basic part (Loongson Base) and an expanded part. The expansion part includes Loongson Binary Translation (LBT), Loongson VirtualiZation (LVZ), Loongson SIMD EXtension (LSX) and Loongson Advanced SIMD EXtension(LASX). Currently the LA464 processor core supports LoongArch ISA and the Loongson 3A5000 processor integrates 4 64-bit LA464 cores. LA464 is a four-issue 64-bit high-performance processor core. It can be used as a single core for high-end embedded and desktop applications, or as a basic processor core to form an on-chip multi-core system for server and high-performance machine applications. Documentations: ISA: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html ABI: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html More docs can be found at: https://loongson.github.io/LoongArch-Documentation/README-EN.html Since last year, we have locally adapted two versions of rust, rust1.41 and rust1.57, and completed the test locally. I'm not sure if I'm submitting all the patches at once, so I split up the patches and here's one of the commits
2023-04-12fix: disable `x suggest` when using `build-metrics`Ezra Shaw-1/+9
2023-04-11fix running Miri testsRalf Jung-1/+4
2023-04-10Fix `x check --stage 1` when `download-ci-llvm=false`Joshua Nelson-22/+24
2023-04-10Fix `x test ui --target foo` when download-rustc is enabledJoshua Nelson-3/+3
Previously, we would never build the target std, only the host std.
2023-04-10Fix remaining typosDaniPopes-1/+1
2023-04-10Rollup merge of #110121 - jyn514:check-stage1, r=ozkanonurDylan DPC-3/+11
Fix `x check --stage 1` when download-rustc is enabled Helps with https://github.com/rust-lang/rust/issues/81930
2023-04-10Merge remote-tracking branch 'upstream/master'Mads Ravn-23/+31
2023-04-10Auto merge of #109880 - ehuss:fix-macos-installer-rust-docs, r=Mark-Simulacrumbors-23/+30
Fix macOS and Windows installers when rust-docs is not available. This fixes the macOS `.pkg` and Windows `.msi` installers to work when rust-docs is not available. If the rust-docs component is not built, then the installer would fail. This adds the rust-docs component to the filtering mechanism so that the rust-docs line of the distribution definition aren't included. I tested installing and uninstalling both with and without the rust-docs component available. This happens on the aarch64-apple-darwin distribution provided by rust-lang since we currently disable the rust-docs component due to long build times. An alternate solution would be to just enable the rust-docs component on aarch64-apple-darwin since there are faster build systems. Fixes #109877
2023-04-09'./configure' now checks if 'config.toml' exists before writing to that ↵Mads Ravn-0/+6
destination
2023-04-09Separate out a `rustc_llvm_env` functionJoshua Nelson-61/+67
2023-04-09Fix `x check --stage 1` when download-rustc is enabledJoshua Nelson-3/+11
2023-04-09Add PR link to changelog entry for renaming of ignore-gitErik Hofmayer-1/+1
2023-04-09Add renaming of ignore-git to changelogErik Hofmayer-0/+1
2023-04-09feat: implement basic suggest-tests toolEzra Shaw-23/+165
2023-04-09Rollup merge of #110074 - majaha:config_toml_fix, r=jyn514Yuki Okushi-0/+2
Make the "codegen" profile of `config.toml` download and build llvm from source. The stated purpose of the codegen profile in config.toml is: > `# These defaults are meant for contributors to the compiler who modify codegen or LLVM` but `download-ci-llvm` must be set to be false for the llvm source to even be downloaded. This patch adds that in. Also included: a small docs fix in `config.example.toml`
2023-04-09Rollup merge of #110059 - gimbles:git-hash, r=ozkanonurYuki Okushi-18/+18
ignore_git → omit_git_hash Fixes #110020
2023-04-08Make "codegen" config.toml profile build llvmMatt Harding-0/+2
2023-04-08s/ignore_git/omit_git_hashGimbles-18/+18
2023-04-07Auto merge of #109448 - ozkanonur:download-beta-compiler-toolchain, ↵bors-17/+70
r=Mark-Simulacrum Download beta compiler toolchain in bootstrap if it doesn't yet exist Blocker for #107812 and #99989 See: https://github.com/rust-lang/rust/pull/107812#discussion_r1143492202 r? `@jyn514`
2023-04-08download beta compiler toolchain in bootstrap if it doesn't yet existozkanonur-17/+70
This is needed for when the shell scripts bypass python altogether and run the downloaded bootstrap directly. Changes are mainly provided from @jyn514, I just fixed the review notes. Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-07Auto merge of #110024 - matthiaskrgr:rollup-mydkufd, r=matthiaskrgrbors-98/+15
Rollup of 6 pull requests Successful merges: - #109806 (Workaround #109797 on windows-gnu) - #109957 (diagnostics: account for self type when looking for source of unsolved type variable) - #109960 (Fix buffer overrun in bootstrap and (test-only) symlink_junction) - #110013 (Label `non_exhaustive` attribute on privacy errors from non-local items) - #110016 (Run collapsed GUI test in mobile mode as well) - #110022 (fix: fix regression in #109203) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-04-07Rollup merge of #109960 - thomcc:symlink-junction-buffer-overrun, r=ChrisDentonMatthias Krüger-98/+15
Fix buffer overrun in bootstrap and (test-only) symlink_junction I don't think these can be hit in practice, due to their inputs being valid paths. It's also not security-sensitive code, but just... bad vibes. I think this is still not really the right way to do this (in terms of path correctness), but is no worse than it was. r? `@ChrisDenton`
2023-04-06Auto merge of #109162 - ozkanonur:extend_detect_src_and_out_test, r=jyn514bors-21/+44
extend `detect_src_and_out` test > I was thinking about the following cases when I wrote the comment in #109055 > > 1. Running bootstrap from the source root. > 2. Running from a subdirectory of the source root. > 3. Running from outside the source root. > 4. Running on a different machine from where bootstrap was compiled (which will be important > for #107812). You can mostly replicate this by renaming the source root so it no longer exists on disk. > 5. Running with `--build-dir`. > 6. Running with `$RUST_BOOTSTRAP_CONFIG` set in the environment and `build-dir` set in the file. Tested all the topics mentioned above. All worked fine. The test is now also covers if build dir is manually specified in config. r? `@jyn514` helps #109120 partially
2023-04-06Pass host linker to compiletest.James Farrell-1/+4
Tests marked `// force-host` were using the default linker, even if a custom linker was configured in config.toml. This change adds a new flag, --host-linker, to compiletest, and renames --linker to --target-linker.
2023-04-06improve/extend `detect_src_and_out` testozkanonur-21/+44
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-05Auto merge of #108905 - ferrocene:pa-compiletest-ignore, r=ehussbors-1/+1
Validate `ignore` and `only` compiletest directive, and add human-readable ignore reasons This PR adds strict validation for the `ignore` and `only` compiletest directives, failing if an unknown value is provided to them. Doing so uncovered 79 tests in `tests/ui` that had invalid directives, so this PR also fixes them. Finally, this PR adds human-readable ignore reasons when tests are ignored due to `ignore` or `only` directives, like *"only executed when the architecture is aarch64"* or *"ignored when the operative system is windows"*. This was the original reason why I started working on this PR and #108659, as we need both of them for Ferrocene. The PR is a draft because the code is extremely inefficient: it calls `rustc --print=cfg --target $target` for every rustc target (to gather the list of allowed ignore values), which on my system takes between 4s and 5s, and performs a lot of allocations of constant values. I'll fix both of them in the coming days. r? `@ehuss`
2023-04-05Rollup merge of #109848 - ozkanonur:fix-96188, r=albertlarsan68Yuki Okushi-10/+40
submodule detection for proper fix on #96188 This commit resolves an internal FIXME note within the bootstrap by implementing submodule detection. This is accomplished through an iterative process over the `.gitmodules` file. r? `@albertlarsan68`
2023-04-05submodule detection for proper fix on #96188ozkanonur-10/+40
This commit resolves an internal FIXME note within the bootstrap by implementing submodule detection. This is accomplished through an iterative process over the `.gitmodules` file. Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-05Use the `junction` crate in bootstrap instead of manually creating the junctionThom Chiovoloni-115/+15
2023-04-05Fix same issue in bootstrapThom Chiovoloni-9/+26
2023-04-04Make rust-docs optional for the Windows MSI installer.Eric Huss-22/+29
2023-04-04Remove the use of `-use-gnu-stack` when BOLTing LLVMJakub Beránek-2/+0
This flag (counterintuitively) was removing the `GNU_STACK` ELF attribute, which caused the optimized `libLLVM.so` file to be flagged as having an executable stack on SELinux.
2023-04-04Add loongarch64 to exception listzhaixiaojuan-1/+2
2023-04-04Enable loongarch64 LLVM targetzhaixiaojuan-1/+1
2023-04-04Add LLVM target and cputype matching for loongarch64zhaixiaojuan-0/+1
2023-04-03fix remaining testsPietro Albini-1/+1
2023-04-03Auto merge of #109884 - matthiaskrgr:rollup-5wapig9, r=matthiaskrgrbors-2/+60
Rollup of 7 pull requests Successful merges: - #109526 (LIBPATH is used as dylib's path environment variable on AIX) - #109642 (check for missing codegen backeng config) - #109722 (Implement read_buf for RustHermit) - #109856 (fix(middle): emit error rather than delay bug when reaching limit) - #109868 (Improve PR job names in Github Actions preview) - #109871 (Include invocation start times) - #109873 (Move some UI tests into subdirectories) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2023-04-03Rollup merge of #109871 - Mark-Simulacrum:metrics-timestamp, r=ozkanonurMatthias Krüger-1/+12
Include invocation start times For multi-invocation builders (e.g., dist-x86_64-linux) this timestamp is necessary to correlate the data in the metrics JSON with other data sources (e.g., logs, cpu-usage CSV, etc.). Such correlation may not be perfect but is sometimes helpful and awkward to do otherwise.
2023-04-03Rollup merge of #109642 - ↵Matthias Krüger-1/+43
lenko-d:rust_codegen-backends_interacts_confusingly_with_paths, r=Mark-Simulacrum check for missing codegen backeng config Fixes [#109610](https://github.com/rust-lang/rust/issues/109610)
2023-04-03Rollup merge of #109526 - bzEq:aix-libpath, r=Mark-SimulacrumMatthias Krüger-0/+5
LIBPATH is used as dylib's path environment variable on AIX See https://4js.com/online_documentation/fjs-fgl-3.00.05-manual-html/c_fgl_installation_017.html.
2023-04-03Auto merge of #108288 - ozkanonur:hotfix-90244, r=Mark-Simulacrumbors-0/+7
fix `build --stage 2 compiler/rustc` panic Skip assembling(which causes panic due to not found `.librustc.stamp` file) process for stage3(since it has problems with sysroot) if full-bootstrap isn't used. Resolves #90244
2023-04-02Fix macos pkg installer when rust-docs is not available.Eric Huss-1/+1
2023-04-02Include invocation start timesMark Rousskov-1/+12
For multi-invocation builders (e.g., dist-x86_64-linux) this timestamp is necessary to correlate the data in the metrics JSON with other data sources (e.g., logs, cpu-usage CSV, etc.). Such correlation may not be perfect but is sometimes helpful and awkward to do otherwise.
2023-04-02fix `build --stage 2 compiler/rustc` panicozkanonur-0/+7
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-02Auto merge of #109811 - jyn514:symlink-fixes, r=Mark-Simulacrumbors-11/+12
Replace any existing `build/host` symlink This has two advantages: 1. If `build.build` changes between runs, the symlink is no longer silently wrong. 2. If the entire build directory is moved, the symlink is no longer broken because it points to the wrong absolute path.
2023-04-02Replace any existing `build/host` symlinkJynn Nelson-11/+12
This has two advantages: 1. If `build.build` changes between runs, the symlink is no longer silently wrong. 2. If the entire build directory is moved, the symlink is no longer broken because it points to the wrong absolute path.