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

Rollup of 8 pull requests #129547

Closed
wants to merge 32 commits into from
Closed

Conversation

tgross35
Copy link
Contributor

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Mrmaxmeier and others added 30 commits July 29, 2024 12:35
also make it fail if there's a compression issue
zlib is seemingly always enabled, so we can test it unconditionally
it now checks zlib and zstd, via rustc and rust-lld
move it where it's used, and name it like the other scripts
This change allows setting either `build.cargo` or `build.rustc` without requiring
both to be set simultaneously, which was not possible previously.

To try it, set `build.rustc` without setting `build.cargo`, and try to bootstrap on clean build.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
- `new_zeroed` variants move to `new_zeroed_alloc`
- the `write` fn moves to `box_uninit_write`

The remainder will be stabilized in upcoming patches, as
it was decided to only stabilize `uninit*` and `assume_init`.
Link: rust-lang#129416
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
…avidtwco

Implement `-Z embed-source` (DWARFv5 source code embedding extension)

Implement rust-lang/compiler-team#764 MCP which adds an unstable flag that exposes LLVM's [DWARFv5 source code embedding](https://dwarfstd.org/issues/180201.1.html) support.
More work on `zstd` compression

r? ```@Kobzol``` as we've discussed this.

This is a draft to show the current approach of supporting zstd in compiletest, and making the tests using it unconditional.

Knowing whether llvm/lld was built with `LLVM_ENABLE_ZSTD` is quite hard, so there are two strategies. There are details in the code, and we can discuss this approach. Until we know the config used to build CI artifacts, it seems our options are somewhat limited in any case.

zlib compression seems always enabled, so we only check this in its dedicated test, allowing the test to ignore errors due to zstd not being supported.

The zstd test is made unconditional in what it tests, by relying on `needs-llvm-zstd` to be ignored when `llvm.libzstd` isn't enabled in `config.toml`.

try-job: x86_64-gnu
try-job: x86_64-msvc
bootstrap: improve error recovery flags to curl

alternative to rust-lang#128459

fixes rust-lang#110178

r? `@Kobzol`
Add f16 and f128 to tests/ui/consts/const-float-bits-conv.rs

Fixes rust-lang#129163

try-job: x86_64-msvc
try-job: x86_64-mingw
try-job: i686-msvc
try-job: i686-mingw
…tabilization, r=dtolnay

library: Move unstable API of new_uninit to new features

- `new_zeroed` variants move to `new_zeroed_alloc`
- the `write` fn moves to `box_uninit_write`

The remainder will be stabilized in upcoming patches, as it was decided to only stabilize `uninit*` and `assume_init`.
rustc: Simplify getting sysroot library directory

It was very non-obvious that `sess.target_tlib_path`, `make_target_lib_path(...)`, and `sess.target_filesearch(...).search_paths()` result in the same sysroot library directory paths.
They are however, indeed the same, because `sess.target_tlib_path` is initialized to `make_target_lib_path(...)` on `Session` creation, and they are used interchangeably.

There are still some redundant calls to `make_target_lib_path` and other inconsistent ways to obtain sysroot directories, but fixing that requires some behavior changes, while this PR is a pure refactoring.
Some places in the compiler even disagree on the number of sysroots - 1 (explicit `--sysroot` *or* default sysroot), 2 (explicit `--sysroot` *and* default sysroot), or an unclear number of `sysroot_candidates` every of which is considered.
The logic currently using `sess.target_tlib_path` or equivalents assumes one sysroot.
…=Kobzol

handle stage0 `cargo` and `rustc` separately

This change allows setting either `build.cargo` or `build.rustc` without requiring both to be set simultaneously, which was not possible previously.

To try it, set `build.rustc` without setting `build.cargo`, and try to bootstrap on clean build.

Blocker for rust-lang#129152
…notriddle

Update minifier to 0.3.1

It adds support for escaped characters.

PR is GuillaumeGomez/minifier-rs#111.

r? `@notriddle`
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Aug 25, 2024
@tgross35
Copy link
Contributor Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Aug 25, 2024

📌 Commit 34a4834 has been approved by tgross35

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 25, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 25, 2024
Rollup of 8 pull requests

Successful merges:

 - rust-lang#126985 (Implement `-Z embed-source` (DWARFv5 source code embedding extension))
 - rust-lang#128935 (More work on `zstd` compression)
 - rust-lang#129134 (bootstrap: improve error recovery flags to curl)
 - rust-lang#129190 (Add f16 and f128 to tests/ui/consts/const-float-bits-conv.rs)
 - rust-lang#129416 (library: Move unstable API of new_uninit to new features)
 - rust-lang#129418 (rustc: Simplify getting sysroot library directory)
 - rust-lang#129459 (handle stage0 `cargo` and `rustc` separately)
 - rust-lang#129511 (Update minifier to 0.3.1)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors
Copy link
Contributor

bors commented Aug 25, 2024

⌛ Testing commit 34a4834 with merge 67dfa4c...

@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-distcheck failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
test [run-make] tests/run-make/compile-stdin ... ok
test [run-make] tests/run-make/comment-section ... ok
test [run-make] tests/run-make/compiler-rt-works-on-mingw ... ignored, only executed when the operating system and target environment are windows-gnu
test [run-make] tests/run-make/compiler-lookup-paths-2 ... ok
test [run-make] tests/run-make/compressed-debuginfo-zstd ... ignored, ignored if LLVM wasn't build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support)
test [run-make] tests/run-make/const-prop-lint ... ok
test [run-make] tests/run-make/const_fn_mir ... ok
test [run-make] tests/run-make/compiler-lookup-paths ... ok
test [run-make] tests/run-make/alloc-no-rc ... ok
---
---- [run-make] tests/run-make/compressed-debuginfo stdout ----

error: rmake recipe failed to complete
status: exit status: 101
command: cd "/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/test/run-make/compressed-debuginfo/rmake_out" && env -u RUSTFLAGS AR="ar" CC="cc" CC_DEFAULT_FLAGS="-ffunction-sections -fdata-sections -fPIC -m64" CXX="c++" CXX_DEFAULT_FLAGS="-ffunction-sections -fdata-sections -fPIC -m64" HOST_RPATH_DIR="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage2/lib" LD_LIBRARY_PATH="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage0/lib:/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage2-tools-bin:/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" LD_LIB_PATH_ENVVAR="LD_LIBRARY_PATH" LLVM_BIN_DIR="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/llvm/bin" LLVM_COMPONENTS="aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser bpfcodegen bpfdesc bpfdisassembler bpfinfo cfguard codegen codegendata codegentypes core coroutines coverage csky cskyasmparser cskycodegen cskydesc cskydisassembler cskyinfo debuginfobtf debuginfocodeview debuginfodwarf debuginfogsym debuginfologicalview debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker dwarflinkerclassic dwarflinkerparallel dwp engine executionengine extensions filecheck frontenddriver frontendhlsl frontendoffloading frontendopenacc frontendopenmp fuzzercli fuzzmutate globalisel hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo hipstdpar instcombine instrumentation interfacestub interpreter ipo irprinter irreader jitlink libdriver lineeditor linker loongarch loongarchasmparser loongarchcodegen loongarchdesc loongarchdisassembler loongarchinfo lto m68k m68kasmparser m68kcodegen m68kdesc m68kdisassembler m68kinfo mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts objcopy object objectyaml option orcdebugging orcjit orcshared orctargetprocess passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvtargetmca runtimedyld sandboxir scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target targetparser textapi textapibinaryreader transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo webassemblyutils windowsdriver windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86targetmca xray xtensa xtensaasmparser xtensacodegen xtensadesc xtensadisassembler xtensainfo" LLVM_FILECHECK="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" PYTHON="/usr/bin/python3" RUSTC="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUSTDOC="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" SOURCE_ROOT="/checkout" TARGET="x86_64-unknown-linux-gnu" TARGET_RPATH_DIR="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" TARGET_RPATH_ENV="/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/test/run-make/compressed-debuginfo/rmake_out:/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/stage0/lib" "/checkout/obj/build/tmp/distcheck/build/x86_64-unknown-linux-gnu/test/run-make/compressed-debuginfo/rmake"
--- stderr -------------------------------
--- stderr -------------------------------
=== HAYSTACK ===
There are 17 section headers, starting at offset 0x5b0:
Section Headers:
Section Headers:
  [Nr] Name
       Type            Address          Off    Size   ES   Lk Inf Al
  [ 0] 
       NULL            0000000000000000 000000 000000 00   0   0  0
       [0000000000000000]: 
       [0000000000000000]: 
  [ 1] .strtab
       STRTAB          0000000000000000 0004e0 0000cf 00   0   0  1
       [0000000000000000]: 
  [ 2] .text
       PROGBITS        0000000000000000 000040 000000 00   0   0  4
       [0000000000000006]: ALLOC, EXEC
  [ 3] .text._ZN3foo3foo17h9c05dda957af8fa0E
       PROGBITS        0000000000000000 000040 000006 00   0   0  16
       [0000000000000006]: ALLOC, EXEC
  [ 4] .debug_abbrev
       [0000000000000000]: 
       [0000000000000000]: 
  [ 5] .debug_info
       [0000000000000000]: 
       [0000000000000000]: 
  [ 6] .rela.debug_info
       RELA            0000000000000000 000378 000108 18   16  5  8
       [0000000000000040]: INFO LINK
  [ 7] .debug_aranges
       [0000000000000000]: 
       [0000000000000000]: 
  [ 8] .rela.debug_aranges
       RELA            0000000000000000 000480 000030 18   16  7  8
       [0000000000000040]: INFO LINK
  [ 9] .debug_str
       [0000000000000030]: MERGE, STRINGS
  [10] .comment
       PROGBITS        0000000000000000 00020d 000035 01   0   0  1
       [0000000000000030]: MERGE, STRINGS
       [0000000000000030]: MERGE, STRINGS
  [11] .note.GNU-stack
       PROGBITS        0000000000000000 000242 000000 00   0   0  1
       [0000000000000000]: 
  [12] .eh_frame
       X86_64_UNWIND   0000000000000000 000248 000030 00   0   0  8
       [0000000000000002]: ALLOC
  [13] .rela.eh_frame
       RELA            0000000000000000 0004b0 000018 18   16  12 8
       [0000000000000040]: INFO LINK
  [14] .debug_line
       [0000000000000000]: 
  [15] .rela.debug_line
       RELA            0000000000000000 0004c8 000018 18   16  14 8
       [0000000000000040]: INFO LINK
---
test result: FAILED. 302 passed; 1 failed; 58 ignored; 0 measured; 0 filtered out; finished in 74.25s

Some tests failed in compiletest suite=run-make mode=run-make host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu
Build completed unsuccessfully in 1:08:40
make: *** [Makefile:49: check] Error 1
Command has failed. Rerun with -v to see more details.
  local time: Sun Aug 25 11:55:06 UTC 2024
  network time: Sun, 25 Aug 2024 11:55:06 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@bors
Copy link
Contributor

bors commented Aug 25, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 25, 2024
@tgross35 tgross35 closed this Aug 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.