Skip to content

Rollup of 11 pull requests - #136378

Closed
jhpratt wants to merge 26 commits into
rust-lang:masterfrom
jhpratt:rollup-l4w55bm
Closed

Rollup of 11 pull requests#136378
jhpratt wants to merge 26 commits into
rust-lang:masterfrom
jhpratt:rollup-l4w55bm

Conversation

@jhpratt

@jhprattjhpratt commented Feb 1, 2025

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

try-job: dist-powerpc64-linux

mati865and others added 26 commits January 25, 2025 12:39
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Add target and compile the amdgpu llvm backend.
only MUSL needs those objects and trying to compile them to other
targets, e.g. Windows or macOS, will produce C compilation errors
check the target before shelling out to the C compiler and tweak
`make_run` to skip the actual C compilation when the target is not MUSL
fixesrust-lang#135782
Provide a new function `listify`, meant to be used in cases similar to `pluralize!`. When you have a slice of arbitrary elements that need to be presented to the user, `listify` allows you to turn that into a list of comma separated strings.
This reduces a lot of redundant logic that happens often in diagnostics.
Make it so more type-system types can be printed in a shortened version (like `Predicate`s).
Centralize printing the information about the "full type name path".
Make the "long type path" for the file where long types are written part of `Diag`, so that it becomes easier to keep track of it, and ensure it will always will be printed out last in the diagnostic by making its addition to the output implicit.
Tweak the shortening of types in "expected/found" labels.
Remove dead file `note.rs`.
… r=Kobzol
ci: fix explanation why LLVM download is disabled for windows-gnu
Continuation of rust-lang#132781
…bilee
Add amdgpu target
Add amdgpu target to rustc and enable the LLVM target.
Fix compiling `core` with the amdgpu:
The amdgpu backend makes heavy use of different address spaces. This
leads to situations, where a pointer in one addrspace needs to be casted
to a pointer in a different addrspace. `bitcast` is invalid for this
case, `addrspacecast` needs to be used.
Fix compilation failures that created bitcasts for such cases by
creating pointer casts (which creates an `addrspacecast` under the hood)
instead.
MCP: rust-lang/compiler-team#823
Tracking issue: rust-lang#135024
Kinda related to the original amdgpu tracking issue rust-lang#51575 (though that one has been closed for a while).
…ly-for-musl, r=onur-ozkan
bootstrap: only build `crt{begin,end}.o` when compiling to MUSL
only MUSL needs those objects and trying to compile them to other targets, e.g. Windows or macOS, will produce C compilation errors
check the target before shelling out to the C compiler and tweak `make_run` to skip the actual C compilation when the target is not MUSL
fixesrust-lang#135782
see the linked issue for additional context
Use +secure-plt for powerpc-unknown-linux-gnu{,spe}
Fixesrust-lang#136131
See that issue for details.
I'm not sure about the policy about baseline on these platforms (there is no [platform support doc](https://doc.rust-lang.org/nightly/rustc/platform-support.html) for them), but it seems that the Debian/Ubuntu's cross-compiler (powerpc-linux-gnu-gcc) already uses --enable-secureplt at least as of Debian 9 (stretch) and Ubuntu 14.04.
```
$ cat /etc/os-release | grep VERSION_ID
VERSION_ID="9"
$ powerpc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=powerpc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/powerpc-linux-gnu/6/lto-wrapper
Target: powerpc-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-powerpc-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-powerpc-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-powerpc-cross --with-arch-directory=ppc --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libgcj --enable-objc-gc=auto --enable-secureplt --disable-softfloat --with-cpu=default32 --disable-softfloat --enable-targets=powerpc-linux,powerpc64-linux --enable-multiarch --with-long-double-128 --enable-multilib --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=powerpc-linux-gnu --program-prefix=powerpc-linux-gnu- --includedir=/usr/powerpc-linux-gnu/include
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18)
```
```
$ cat /etc/os-release | grep VERSION_ID
VERSION_ID="14.04"
$ cat /etc/debian_version
jessie/sid
$ powerpc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=powerpc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/powerpc-linux-gnu/4.8/lto-wrapper
Target: powerpc-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04.1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/powerpc-linux-gnu/include/c++/4.8.4 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --disable-libitm --disable-libsanitizer --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-powerpc-cross/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-powerpc-cross --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-powerpc-cross --with-arch-directory=ppc --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libgcj --enable-objc-gc --enable-secureplt --disable-softfloat --with-cpu=default32 --disable-softfloat --enable-targets=powerpc-linux,powerpc64-linux --enable-multiarch --disable-werror --with-long-double-128 --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=powerpc-linux-gnu --program-prefix=powerpc-linux-gnu- --includedir=/usr/powerpc-linux-gnu/include
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
```
cc ``@glaubitz`` (who added powerpc-unknown-linux-gnuspe in rust-lang#48484)
r? tgross35
``@rustbot`` label +O-PowerPC +O-linux-gnu
Rename `tcx.ensure()` to `tcx.ensure_ok()`, and improve the associated docs
This is all based on my archaeology for https://rust-lang.zulipchat.com/#narrow/channel/182449-t-compiler.2Fhelp/topic/.60TyCtxtEnsure.60.
The main renamings are:
- `tcx.ensure()` → `tcx.ensure_ok()`
- `tcx.ensure_with_value()` → `tcx.ensure_done()`
- Query modifier `ensure_forwards_result_if_red` → `return_result_from_ensure_ok`
Hopefully these new names are a better fit for the *actual* function and purpose of these query call modes.
Update encode_utf16 to mention it is native endian
Fixesrust-lang#83102
set rustc dylib on manually constructed rustc command
Fixesrust-lang#133629
Rework "long type names" printing logic
Make it so more type-system types can be printed in a shortened version (like `Predicate`s).
Centralize printing the information about the "full type name path".
Make the "long type path" for the file where long types are written part of `Diag`, so that it becomes easier to keep track of it, and ensure it will always will be printed out last in the diagnostic by making its addition to the output implicit.
Tweak the shortening of types in "expected/found" labels.
Remove dead file `note.rs`.
…-headers, r=jieyouxu
CompileTest: Add Directives to Ignore `arm-unknown-*` Targets
In rust-lang#134626, I want to ignore `arm-unknown-*` targets because the LLVM IR for those looks very different compared to other targets: https://rust.godbolt.org/z/ssYMhdv4x.
I can use `ignore-arm` but, I think, it would exclude large number of Apple devices.
So this PR adds a few directives to ignore `arm-unknown-*` targets specifically.
…thlin
`#[optimize(none)]` implies `#[inline(never)]`
Fixesrust-lang#136329
Make comma separated lists of anything easier to make for errors
Provide a new function `listify`, meant to be used in cases similar to `pluralize!`. When you have a slice of arbitrary elements that need to be presented to the user, `listify` allows you to turn that into a list of comma separated strings.
This reduces a lot of redundant logic that happens often in diagnostics.
@rustbotrustbot added A-compiletest Area: The compiletest test runner A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) 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. labels Feb 1, 2025
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)

@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors 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 Feb 1, 2025
@klensy

Copy link
Copy Markdown
Contributor
auto - dist-powerpc64-linux
System.IO.IOException: No space left on device : '/home/runner/runners/2.321.0/_diag/Worker_20250201-101419-utc.log'

@matthiaskrgr

Copy link
Copy Markdown
Member

could be #136154 🤔

@matthiaskrgr

Copy link
Copy Markdown
Member

guess it's not #136154 :)

This was referenced Feb 1, 2025
@klensy

Copy link
Copy Markdown
Contributor

need rerun after #136136, probably have more free disk space.

@matthiaskrgr

Copy link
Copy Markdown
Member

@bors try

@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

⌛ Trying commit d34b025 with merge f11feda...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 1, 2025
Rollup of 11 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build `crt{begin,end}.o` when compiling to MUSL)
- rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136279 (Rename `tcx.ensure()` to `tcx.ensure_ok()`, and improve the associated docs)
- rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore `arm-unknown-*` Targets)
- rust-lang#136358 (`#[optimize(none)]` implies `#[inline(never)]`)
- rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? `@ghost`
`@rustbot` modify labels: rollup
try-job: dist-powerpc64-linux
@marcoieni

Copy link
Copy Markdown
Member

need rerun after #136136, probably have more free disk space.

You can verify the disk space by looking at the logs.
I confirm that with ubuntu 24 we have more disk space 👍

Ubuntu 22:
image
Ubuntu 24:
image

@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

☀️ Try build successful - checks-actions
Build commit: f11feda (f11fedab69783b51be6c1a6bd5d32365447290e6)

@matthiaskrgr

Copy link
Copy Markdown
Member

cool
@bors r+

@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

💡 This pull request was already approved, no need to approve it again.

@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

📌 Commit d34b025 has been approved by matthiaskrgr

It is now in the queue for this repository.

@borsbors 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 Feb 1, 2025
@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

⌛ Testing commit d34b025 with merge 2d873b1...

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 1, 2025
Rollup of 11 pull requests
Successful merges:
- rust-lang#133266 (ci: fix explanation why LLVM download is disabled for windows-gnu)
- rust-lang#134740 (Add amdgpu target)
- rust-lang#135836 (bootstrap: only build `crt{begin,end}.o` when compiling to MUSL)
- rust-lang#136154 (Use +secure-plt for powerpc-unknown-linux-gnu{,spe})
- rust-lang#136279 (Rename `tcx.ensure()` to `tcx.ensure_ok()`, and improve the associated docs)
- rust-lang#136283 (Update encode_utf16 to mention it is native endian)
- rust-lang#136309 (set rustc dylib on manually constructed rustc command)
- rust-lang#136328 (Rework "long type names" printing logic)
- rust-lang#136339 (CompileTest: Add Directives to Ignore `arm-unknown-*` Targets)
- rust-lang#136358 (`#[optimize(none)]` implies `#[inline(never)]`)
- rust-lang#136368 (Make comma separated lists of anything easier to make for errors)
r? `@ghost`
`@rustbot` modify labels: rollup
try-job: dist-powerpc64-linux
@bors

bors commented Feb 1, 2025

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors 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 Feb 1, 2025
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

A job failed! Check out the build log: (web)(plain)

Click to see the possible cause of the failure (guessed by this bot)

@jhpratt

Copy link
Copy Markdown
MemberAuthor

Let's, at the least, split this up. The queue should keep moving without trying to force this one through.

@jhprattjhpratt closed this Feb 1, 2025
@jhpratt
jhpratt deleted the rollup-l4w55bm branch February 1, 2025 17:29
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletestArea: The compiletest test runnerA-query-systemArea: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)A-testsuiteArea: The testsuite used to check the correctness of rustcrollupA PR which is a rollupS-waiting-on-reviewStatus: Awaiting review from the assignee but also interested parties.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-infraRelevant to the infrastructure team, which will review and decide on the PR/issue.T-libsRelevant to the library team, which will review and decide on the PR/issue.T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

17 participants

@jhpratt@bors@rust-log-analyzer@matthiaskrgr@klensy@marcoieni@rustbot@mati865@taiki-e@onur-ozkan@veera-sivarajan@Flakebi@hkBst@japaric@clubby789@estebank@Zalathar