about summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2024-06-09Rollup merge of #126188 - Kobzol:runmake-command-docs, r=jieyouxu许杰友 Jieyou Xu (Joe)-14/+6
Fix documentation for `impl_common_helpers` in `run-make-support` Forgot to do this in https://github.com/rust-lang/rust/pull/126121. `@bors` rollup r? `@jieyouxu`
2024-06-09Rollup merge of #125465 - weihanglo:opt-dist-vendor, r=Mark-Simulacrum许杰友 Jieyou Xu (Joe)-22/+68
bootstrap: vendor crates required by opt-dist to collect profiles These are the default package set required by opt-dist to correctly work, hence for people wanting to build a production grade of rustc in a sandboxed / air-gapped environment, these need to be vendored. The size of `rustc-src-nightly.tar.xz` before and after this change: * Before: 298M * After: 323M (+8%) Size change might or might not be a concern. See the previous discussion: https://github.com/rust-lang/rust/pull/125166#issuecomment-2113626468 Previous efforts on making: * https://github.com/rust-lang/rust/pull/125125 * https://github.com/rust-lang/rust/pull/125166 --- Note that extra works still need to be done to make it fully vendored. * The current pinned rustc-perf uses `tempfile::Tempdir` as the working directory when collecting profiles from some of these packages. This "tmp" working directory usage make it impossible for Cargo to pick up the correct vendor sources setting in `.cargo/config.toml` bundled in the rustc-src tarball. [^1] * opt-dist verifies the final built rustc against a subset of rustc test suite. However it rolls out its own `config.toml` without setting `vendor = true`, and that results in `./vendor/` directory removed. [^2] [^1]: https://github.com/rust-lang/rustc-perf/blob/4f313add609f43e928e98132358e8426ed3969ae/collector/src/compile/benchmark/mod.rs#L164-L173 [^2]: https://github.com/rust-lang/rust/blob/606afbb617a2949a4e35c4b0258ff94c980b9451/src/tools/opt-dist/src/tests.rs#L62-L77
2024-06-09tidy: add license exceptions for rustc-perfWeihang Lo-1/+41
`ring` is included because it is an optional dependency of `hyper`, which is a training data in rustc-pref for optimized build. The license of it is generally `ISC AND MIT AND OpenSSL`, though the `package.license` field is not set. See https://github.com/briansmith/ring/issues/902 `git+https://github.com/rust-lang/team` git source is from `rust_team_data`, which is used by `site` in src/tools/rustc-perf. This doesn't really a part of the compiler, so doesn't really affect the bootstrapping process. See https://github.com/rust-lang/rustc-perf/pull/1914.
2024-06-09feat: vendor crates required by opt-dist to collect profilesWeihang Lo-21/+24
These are the default package set required by opt-dist to correctly work, hence for people wanting to build a production grade of rustc in a sandboxed / air-gapped environment, these need to be vendored. The size of `rustc-src-nightly.tar.xz` before and after this change: * Before: 298M * After: 323M (+8%) These crates are the default set of packages required by opt-dist to correctly work, hence for people wanting to build a production grade of rustc in an sandboxed / air-gapped environment, these need to be vendored. The size of `rustc-src-nightly.tar.xz` before and after this change: * Before: 298M * After: 323M (+8%) Size change might or might not be a concern. See the previous discussion: https://github.com/rust-lang/rust/pull/125166#issuecomment-2113626468 Previous efforts on making: * https://github.com/rust-lang/rust/pull/125125 * https://github.com/rust-lang/rust/pull/125166 --- Note that extra works still need to be done to make it fully vendored. * The current pinned rustc-perf uses `tempfile::Tempdir` as the working directory when collecting profiles from some of these packages. This "tmp" working directory usage make it impossible for Cargo to pick up the correct vendor sources setting in `.cargo/config.toml` bundled in the rustc-src tarball. [^1] * opt-dist verifies the final built rustc against a subset of rustc test suite. However it rolls out its own `config.toml` without setting `vendor = true`, and that results in `./vendor/` directory removed. [^2] [^1]: https://github.com/rust-lang/rustc-perf/blob/4f313add609f43e928e98132358e8426ed3969ae/collector/src/compile/benchmark/mod.rs#L164-L173 [^2]: https://github.com/rust-lang/rust/blob/606afbb617a2949a4e35c4b0258ff94c980b9451/src/tools/opt-dist/src/tests.rs#L62-L77
2024-06-09Auto merge of #126193 - RalfJung:miri-sync, r=RalfJungbors-1087/+1500
Miri subtree update r? `@ghost`
2024-06-09Follow up fix for eventfd shimtiif-23/+30
2024-06-09don't panic if time computaton overflowsRalf Jung-67/+102
2024-06-09Auto merge of #3653 - tiif:bug/futex_ice, r=RalfJungbors-8/+20
Fix futex with large timeout ICE Fixes #3647. This PR changed the type of ``nanoseconds`` from ``u64`` to ``u128``. In ``duration_since``, nanoseconds is manually converted to second by dividing it with 1e9. But overflow is still possible.
2024-06-09Run cargo fmttiif-1/+4
2024-06-09Saturate to u64::MAXtiif-1/+2
2024-06-09Checked add for duration updatebyt-1/+1
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-09Add comment for u128 to u64 conversion.byt-0/+2
Co-authored-by: Ralf Jung <post@ralfj.de>
2024-06-09Move duration division outtiif-5/+3
2024-06-09Use modulo operation to convert nanosecond to Durationtiif-7/+8
2024-06-09Remove testtiif-16/+0
2024-06-09Convert u128 to nanosecondtiif-12/+8
2024-06-09First attempttiif-7/+34
2024-06-09Fix documentation for `impl_common_helpers` in `run-make-support`Jakub Beránek-14/+6
2024-06-09use strict ops in some placesRalf Jung-9/+8
2024-06-09simd_bitmask: work correctly for sizes like 24Ralf Jung-42/+122
2024-06-09Rollup merge of #126175 - Kobzol:tidy-install-pip-quiet, r=tgross35Matthias Krüger-1/+1
Use --quiet flag when installing pip dependencies Fixes: https://github.com/rust-lang/rust/issues/126164 This still prints an error if any occurs.
2024-06-09simd_select_bitmask: fix intrinsic name in errorRalf Jung-2/+2
2024-06-09simd_bitmask: nicer error when the mask is too bigRalf Jung-2/+10
2024-06-08Use --quiet flag when installing pip dependenciesJakub Beránek-1/+1
2024-06-08Merge from rustcRalf Jung-124/+113
2024-06-08Preparing for merge from rustcRalf Jung-1/+1
2024-06-08Migrate runmake tests away from custom commands and `command_output`Jakub Beránek-34/+90
2024-06-08Introduce a custom `Command` wrapper in `run-make-support`Jakub Beránek-122/+129
2024-06-08Auto merge of #3655 - RalfJung:simd-bitmask, r=RalfJungbors-1/+39
portable-simd: add test for non-power-of-2 bitmask `@calebzulawski` is that the intended behavior? Specifically for arrays, the bitmask `[1, 0, 0, 1, 0, 0, 1, 0, 1, 0]` becomes - `[0b01001001, 0b01]` on little endian - `[0b10010010, 0b10]` on big endian
2024-06-08portable-simd: add test for non-power-of-2 bitmaskRalf Jung-1/+39
2024-06-08comment nitsRalf Jung-5/+5
2024-06-08Auto merge of #126097 - Kobzol:runmake-change-cwd, r=jieyouxubors-62/+76
Change how runmake v2 tests are executed This PR makes execution of v2 runmake tests more sane, by executing each test in a temporary directory by default, rather than running it inside `tests/run-make`. This will have.. a lot of conflicts. Fixes: https://github.com/rust-lang/rust/issues/126080 Closes https://github.com/rust-lang/rust/issues/125726, because it removes `tmp_dir`, lol. r? `@jieyouxu` try-job: x86_64-msvc
2024-06-08add support for `pclmulqdq`Folkert-0/+117
2024-06-08Remove unnecessary functions and the last mention of TMPDIR from ↵Jakub Beránek-20/+1
`run-make-support`
2024-06-08Auto merge of #126111 - Zalathar:fulldeps-hotplug, r=jieyouxubors-0/+22
Port `tests/run-make-fulldeps/hotplug_codegen_backend` to ui-fulldeps This is the last remaining run-make-fulldeps test, which means I actually had to leave behind a dummy README file to prevent compiletest from complaining about a missing directory. (Removing the run-make-fulldeps suite entirely is non-trivial, so I intend to do so in a separate PR after this one.) --- I wasn't sure about adding a new kind of aux build just for this one test, so I also tried to just port this test from Makefile to [rmake](https://github.com/rust-lang/rust/issues/121876) instead. But I found that I couldn't get rmake to fully work for a run-make-fulldeps test, which convinced me that getting rid of run-make-fulldeps is worthwhile. r? `@jieyouxu`
2024-06-08Auto merge of #126143 - weihanglo:update-cargo, r=weihanglobors-0/+0
Update cargo 8 commits in 34a6a87d8a2330d8c9d578f927489689328a652d..b1feb75d062444e2cee8b3d2aaa95309d65e9ccd 2024-06-04 15:31:01 +0000 to 2024-06-07 20:16:17 +0000 - Keep lints updated (rust-lang/cargo#14030) - test(lints): Ensure unused optional dep fires for shadowed dep (rust-lang/cargo#14028) - Add `cargo update --breaking` (rust-lang/cargo#13979) - Add tooling to document lints (rust-lang/cargo#14025) - Rename --out-dir to --artifact-dir (rust-lang/cargo#13809) - fix(lints): Add unknown_lints to lints list (rust-lang/cargo#14024) - docs(contrib): Suggest atomic commits with separate test commits (rust-lang/cargo#14014) - test(semver): track the behavior of `--precise <prerelease>` (rust-lang/cargo#14013) r? ghost
2024-06-08Rollup merge of #126057 - Sunshine40:rustdoc-search-non-english, r=notriddleLeón Orell Valerian Liehr-2/+2
Make html rendered by rustdoc allow searching non-English identifier / alias Fix alias search result showing `undefined` description. Inspired by https://github.com/rust-lang/mdBook/issues/2393 . Not sure if it's worth it adding full-text search functionality to rustdoc rendered html.
2024-06-08Rollup merge of #125951 - slanterns:error_in_core_stabilization, r=AmanieuLeón Orell Valerian Liehr-4/+10
Stabilize `error_in_core` Closes: https://github.com/rust-lang/rust/issues/103765. `@rustbot` label: +T-libs-api r? libs-api
2024-06-07Update cargoWeihang Lo-0/+0
2024-06-08Add eventfd shimtiif-19/+257
2024-06-07Remove --stage entirely from contributingNilstrieb-1/+1
2024-06-07Fix stage in contributingNilstrieb-2/+2
2024-06-07Rollup merge of #126112 - Kobzol:runmake-source-root, r=jieyouxuMatthias Krüger-3/+2
Clean up source root in run-make tests The name `S` isn't exactly the most descriptive, and we also shouldn't need to pass it when building (actually I think that most of the env. vars that we pass to `cargo` here are probably not really needed). Related issue: https://github.com/rust-lang/rust/issues/126071 r? ```@jieyouxu```
2024-06-07Rollup merge of #126047 - cuviper:installer-try_for_each, r=albertlarsan68Matthias Krüger-9/+3
Simplify the rayon calls in the installer Rayon's `try_for_each` makes the `CombinedEncoder` a lot simpler.
2024-06-07Port `tests/run-make-fulldeps/hotplug_codegen_backend` to ui-fulldepsZalathar-0/+19
2024-06-07Address review commentsJakub Beránek-1/+1
2024-06-07Small refactoringJakub Beránek-9/+7
2024-06-07Remove all usages of `tmp_dir` from testsJakub Beránek-4/+7
2024-06-07Remove dependence on `tmp_dir`Jakub Beránek-34/+14
And also remove some environment variables passed to compilation of `rmake.rs`.
2024-06-07Fix `mixing-formats` run-make testJakub Beránek-3/+26