about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2023-09-23Pass `-jN` from Make to `BOOTSTRAP_ARGS`onur-ozkan-0/+7
Enables the same functionality as `x -jN` in Make by passing the `-jN` arg from Make to the `BOOTSTRAP_ARGS` args if it is specified. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-22Add Minimal Std implementation for UEFIAyush Singh-5/+1
Implemented modules: 1. alloc 2. os_str 3. env 4. math Tracking Issue: https://github.com/rust-lang/rust/issues/100499 API Change Proposal: https://github.com/rust-lang/libs-team/issues/87 This was originally part of https://github.com/rust-lang/rust/pull/100316. Since that PR was becoming too unwieldy and cluttered, and with suggestion from @dvdhrm, I have extracted a minimal std implementation to this PR. Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2023-09-21Auto merge of #115230 - Vtewari2311:mod-hurd-latest, r=b-naberbors-2/+6
added support for GNU/Hurd adding support for i686-unknown-hurd-gnu
2023-09-21added support for GNU/HurdSamuel Thibault-2/+6
2023-09-19Rollup merge of #115957 - cuishuang:master, r=GuillaumeGomezGuillaume Gomez-1/+1
fix mismatched symbols
2023-09-19fix mismatched symbolscui fliter-1/+1
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-09-19Auto merge of #104101 - betrusted-io:xous-libstd-initial, r=bjorn3bors-1/+4
Add initial libstd support for Xous This patchset adds some minimal support to the tier-3 target `riscv32imac-unknown-xous-elf`. The following features are supported: * alloc * thread creation and joining * thread sleeping * thread_local * panic_abort * mutex * condvar * stdout Additionally, internal support for the various Xous primitives surrounding IPC have been added as part of the Xous FFI. These may be exposed as part of `std::os::xous::ffi` in the future, however for now they are not public. This represents the minimum viable product. A future patchset will add support for networking and filesystem support.
2023-09-19Auto merge of #115644 - danakj:catalyst-asan, r=cjgillot,thomccbors-0/+5
Enable ASAN/LSAN/TSAN for *-apple-ios-macabi The -macabi targets are iOS running on MacOS, and they use the runtime libraries for MacOS, thus they have the same sanitizers available as the *-apple-darwin targets. This is based on the work of https://github.com/rust-lang/rust/commit/aacf3213b142f074999429eab767ef7b53c3a1a5. Closes #113935.
2023-09-18Document that the macabi sanitizers are shared with darwindanakj-2/+3
Do not rename and resign the darwin sanitizers a second time for macabi.
2023-09-18Enable ASAN/LSAN/TSAN for *-apple-ios-macabidanakj-0/+4
The -macabi targets are iOS running on MacOS, and they use the runtime libraries for MacOS, thus they have the same sanitizers available as the *-apple-darwin targets.
2023-09-18Rollup merge of #115811 - bzEq:make-aix-known, r=Mark-SimulacrumMatthias Krüger-0/+8
Make AIX known by bootstrap Use `x.py` to build rustc on AIX directly is failing ``` unknown OS type: AIX Build completed unsuccessfully in 0:00:00 ``` If kernel is `AIX`, we should return default triple `powerpc64-ibm-aix` for current rustc.
2023-09-17Auto merge of #115514 - onur-ozkan:bootstrap-codebase-improvements, ↵bors-105/+97
r=albertlarsan68 optimize and cleanup bootstrap source I suggest reviewing this commit by commit.
2023-09-17micro-level optimizations for bootstraponur-ozkan-77/+60
Overall optimizations for bootstrap on conditions, assertions, trait implementations, etc. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-17update the beginning part of `bootstrap/README.md`onur-ozkan-3/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-16Rollup merge of #115836 - RalfJung:rust_analyzer_settings.json, ↵Matthias Krüger-0/+1
r=compiler-errors update rust_analyzer_settings.json This works around https://github.com/rust-lang/rust-analyzer/issues/15595, and avoids relying on the unspecified working directory of this command.
2023-09-16create helper module to be embedded for the bootstrap binariesonur-ozkan-25/+35
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-15rustdoc: merge theme css into rustdoc.cssMichael Howell-1/+1
Based on https://github.com/rust-lang/rust/pull/115812#issuecomment-1717960119 Having them in separate files used to make more sense, before the migration to CSS variables made the theme files as small as they are nowadays. This is already how docs.rs and mdBook do it.
2023-09-14update SETTINGS_HASHESRalf Jung-0/+1
2023-09-13Adjust commentKai Luo-2/+2
2023-09-13Adjust commentKai Luo-2/+2
2023-09-13Add comment to elaborateKai Luo-0/+6
2023-09-13Make AIX known by bootstrapKai Luo-0/+2
2023-09-11Rollup merge of #115440 - RalfJung:bootstrap-fmt, r=Mark-SimulacrumMatthias Krüger-4/+0
bootstrap/format: remove unnecessary paths.push Cc https://github.com/rust-lang/rust/pull/106415#pullrequestreview-1606367042 I verified that this still formats all fileds when `get_modified_rs_files` is made to return an error. r? ``@Nilstrieb``
2023-09-10Allow testing cg_clif using ./x.py testbjorn3-0/+127
2023-09-08Rollup merge of #115088 - LuuuXXX:issue-112009, r=albertlarsan68Guillaume Gomez-4/+6
Fix Step Skipping Caused by Using the `--exclude` Option The original code was overreacting to the `--exclude` option, https://github.com/rust-lang/rust/blob/eadf69a6c6edfe220fc5b1b659e46e271d75a3a1/src/bootstrap/builder.rs#L257-L260 For example: When `x test --exclude alloc` or `x test --exclude library/alloc` is passed, the entire libraray test is skipped. Related issues: https://github.com/rust-lang/rust/issues/112009
2023-09-08Fix Issue 112009LuuuX-4/+6
modify fuction clond() -> cloned() optimize the code Handle the problem that the pathset is empty and modify the judgment of the builder::tests::test_exclude_kind Delete unnecessary judegment conditions skip test for library/std duo to OOM in benches as library/alloc Add FIXME for WASM32
2023-09-06fix log formatting in bootstrapGoldstein-3/+3
2023-09-05Auto merge of #114843 - Zalathar:test-coverage-map, r=oli-obkbors-1/+18
coverage: Explicitly test the coverage maps produced by codegen/LLVM Our existing coverage tests verify the output of end-to-end coverage reports, but we don't have any way to test the specific mapping information (code regions and their associated counters) that are emitted by `rustc_codegen_llvm` and LLVM. That makes it harder to to be confident in changes that would modify those mappings (whether deliberately or accidentally). This PR addresses that by adding a new `coverage-map` test suite that does the following: - Compiles test files to LLVM IR assembly (`.ll`) - Feeds those IR files to a custom tool (`src/tools/coverage-dump`) that extracts and decodes coverage mappings, and prints them in a more human-readable format - Checks the output of that tool against known-good snapshots --- I recommend excluding the last commit while reviewing the main changes, because that last commit is just ~40 test files copied over from `tests/run-coverage`, plus their blessed coverage-map snapshots and a readme file. Those snapshots aren't really intended to be checked by hand; they're mostly there to increase the chances that an unintended change to coverage maps will be observable (even if it requires relatively specific circumstances to manifest).
2023-09-05Auto merge of #115544 - onur-ozkan:patch-binaries-for-nix-configure, ↵bors-0/+1
r=albertlarsan68 support `{disable,enable}-patch-binaries-for-nix` in configure.py Provide the control of `patch-binaries-for-nix` flag from configure.py without requiring manual editing. It's useful when: https://github.com/rust-lang/rust/blob/bf1e3f31f95c0f75b9bf51a58e8684f750f919f2/src/bootstrap/bootstrap.py#L661-L667
2023-09-05support `{disable,enable}-patch-binaries-for-nix` in configure.pyonur-ozkan-0/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-05Add test suite `coverage-map` to test coverage mappings emitted by LLVMZalathar-0/+15
We compile each test file to LLVM IR assembly, and then pass that IR to a dedicated program that can decode LLVM coverage maps and print them in a more human-readable format. We can then check that output against known-good snapshots. This test suite has some advantages over the existing `run-coverage` tests: - We can test coverage instrumentation without needing to run target binaries. - We can observe subtle improvements/regressions in the underlying coverage mappings that don't make a visible difference to coverage reports.
2023-09-05Add tool `src/tools/coverage-dump` for use by some new coverage testsZalathar-1/+3
2023-09-03Auto merge of #115448 - onur-ozkan:optimize-bootstrap-dep-tree, r=albertlarsan68bors-40/+8
optimize bootstrap dep tree bumped `pretty_assertations` in favor of removing duplicated `syn`, and bumped `hermit-abi` from the yanked version.
2023-09-02Auto merge of #115471 - RalfJung:skipping-sanity, r=onur-ozkanbors-10/+13
also skip musl checks when BOOTSTRAP_SKIP_TARGET_SANITY is set Currently I cannot test musl targets in Miri via x.py; this PR fixes that.
2023-09-02also skip musl checks when BOOTSTRAP_SKIP_TARGET_SANITY is setRalf Jung-10/+13
2023-09-01bump hermit-abi from yanked version(0.3.1) to 0.3.2onur-ozkan-3/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-01bump pretty_assertions to 1.4onur-ozkan-37/+5
Removes the duplicated dependency(syn 1.0.102) from bootstrap dependency tree Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-09-01bootstrap/format: remove unnecessary paths.pushRalf Jung-4/+0
2023-08-31bootstrap: use git merge-base for LLVM CI download logicRalf Jung-1/+8
2023-08-31Auto merge of #115323 - onur-ozkan:curl-download-checksum-fix, r=Mark-Simulacrumbors-12/+11
avoid stdout redirection on `curl` executions Avoid redirecting the curl output directly to the stdout. This alteration affects the integrity of the file during the retry process, as it also redirects the logs from the retries. Consequently, this leads to the bootstrap process failing because of an invalid checksum. For more information, see the [zulip thread](https://rust-lang.zulipchat.com/#narrow/stream/326414-t-infra.2Fbootstrap/topic/checksum.20errors) Fixes #115275
2023-08-28avoid stdout redirection on `curl` executionsonur-ozkan-12/+11
Avoid redirecting the curl output directly to the stdout. This alteration affects the integrity of the file during the retry process, as it also redirects the logs from the retries. Consequently, this leads to the bootstrap process failing because of an invalid checksum. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-08-27Rollup merge of #115261 - onur-ozkan:replace-old-username, r=Mark-SimulacrumGuillaume Gomez-1/+1
replace outdated github username 'ozkanonur'
2023-08-27Rollup merge of #115111 - ozkanonur:check-rust-analyzer-if-enabled, ↵Matthias Krüger-2/+9
r=Mark-Simulacrum compile rust-anaylzer with `x check` if it's enabled By default, `x check` doesn't compile the rust-analyzer. But when it's enabled in the config's tools section, there's no reason not to do it. This change allows `x check` to compile rust-analyzer if it's enabled in config's tools section. Helps to #115031
2023-08-27replace outdated github username 'ozkanonur'ozkanonur-1/+1
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-08-24Rollup merge of #115117 - pnkfelix:detect-and-report-nix-shell, r=albertlarsan68Weihang Lo-9/+31
Detect and report nix shell Better diagnostics for people using nix subshell on non-NixOS. 1. Turned patch-binaries-for-nix from a boolean into a ternary flag: true, false, and unset. 2. When patch-binaries-for-nix is unset, we continue with the existing NixOS detection heuristic (look for nixos in /etc/os-release, if present), but if we are not atop NixOS, then issue a note if we see the IN_NIX_SHELL environment variable telling the user to consider setting patch-binaries-for-nix explicitly. Fix #115073
2023-08-23Accommodate tidy.Felix S. Klock II-11/+9
In addition: Incorporated some review feedback (namely, removed a useless initial assignment to True that was never read), and unified code a bit more between bootstrap.py and download.rs (by using the same variable name for the same concept).
2023-08-23Rollup merge of #115109 - cuviper:yaml-404, r=albertlarsan68Guillaume Gomez-0/+5
Skip ExpandYamlAnchors when the config is missing The dist-src tarball does not include `.github/` at all, so we can't check whether it needs to be regenerated.
2023-08-23Rollup merge of #115103 - djkoloski:disable_bootstrap_version_check, ↵Guillaume Gomez-1/+2
r=compiler-errors Disable bootstrap rustc version check Mitigates #115065
2023-08-22Better diagnostics for people using nix subshell on non-NixOS.Felix S. Klock II-8/+32
1. Turned patch-binaries-for-nix from a boolean into a ternary flag: true, false, and unset. 2. When patch-binaries-for-nix is unset, we continue with the existing NixOS detection heuristic (look for nixos in /etc/os-release, if present), but if we are not atop NixOS, then issue a note if we see the IN_NIX_SHELL environment variable telling the user to consider setting patch-binaries-for-nix explicitly.
2023-08-22drive-by fix to Python doc comment.Felix S. Klock II-1/+1