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 #136084

Closed
wants to merge 23 commits into from
Closed

Conversation

jhpratt
Copy link
Member

@jhpratt jhpratt commented Jan 26, 2025

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

workingjubilee and others added 23 commits December 15, 2024 18:42
This allows compile-time configuration based on this.
In the near future we should do this across all RISCV targets, probably,
but this cfg is essential for building software usable on these targets.
- Improve the discussion of `unsafe` blocks within `unsafe` functions.
- Fix formatting in Appendix A
Split this into two tests, one for LLVM 19 and one for LLVM 20.
LLVM 20 choses a different unroll factor for the loop.
Signed-off-by: Florian Bartels <[email protected]>
QNX SDP 8.0 comes with newly renamed QNX OS 8.0, so update the page to talk about QNX, QNX Neutrino 7.0, QNX Neutrino 7.1 or QNX OS 8.0.

Also actually add a list of target triples.
If the run fails, it should report that and return a non-zero exit
status. The simplest way to do that is with `run(..., check=True)`,
which raises a `CalledProcessError`.
…rt, r=workingjubilee

Support QNX 7.1 with `io-sock`+libstd and QNX 8.0 (`no_std` only)

Changes of this pull request:

1. Refactor code for qnx nto targets to share more code in file `nto_qnx.rs`
1. Add support for an additional network stack on nto qnx 7.1.

   QNX 7.1 supports two network stacks:

   1. `io-pkt`, which is default
   2. `io-sock`, which is optional on 7.1 but default in QNX 8.0

   As one can see in the [io-sock migration notes](https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.io_sock/topic/migrate_app.html), this changes the libc API in a way similar to e.g. linux-gnu vs. linux-musl.

   This change adds a new target which has a different value for `target_env`, so that e.g. libc can distinguish between both APIs.

2. Add initial support for QNX 8.0, thanks to AkhilTThomas. As it turned out, the problem with forking many processes still exists in QNX 8.0. Because if this, we are now using it for any QNX version (i.e. not check for `target_env` anymore).
…abi, r=fmease

compiler: Set `target_abi = "ilp32e"` on all riscv32e targets

This allows compile-time configuration based on this. In the near future we should do this across all RISCV targets, probably, but this cfg is essential for building software usable on these targets, and they are tier 3 so it seems less of a concern to tweak their definition thusly.
…wiser

Fix tests on LLVM 20

For sparcv8plus.rs, duplicate the test for LLVM 19 and LLVM 20. LLVM 20 resolves one of the FIXME in the test.

For x86_64-bigint-add.rs split the check lines for LLVM 19 and LLVM 20. The difference in codegen here is due to a difference in unroll factor, which I believe is not what the test is interested in.

Fixes rust-lang#132957.
Fixes rust-lang#133754.
…ulacrum

Fix GDB `OsString` provider on Windows

It would throw an exception due to trying to look up `Wtf8Buf.__0`. The field it actually wants is called [`bytes`](https://github.com/rust-lang/rust/blob/b605c65b6eb5fa71783f8e26df69975f9f1680ee/library/std/src/sys_common/wtf8.rs#L134).
…, r=ehuss

TRPL: more backward-compatible Edition changes

- Improve the discussion of `unsafe` blocks within `unsafe` functions.
- Fix formatting in Appendix A
- Incorporate line edits to Chapter 17 from NoStarch.
…triddle

Remove extra whitespace from rustdoc breadcrumbs for copypasting

The docs header used to display [item names with their full path](https://doc.rust-lang.org/1.82.0/std/os/unix/ffi/trait.OsStrExt.html), but a [recent design change](https://doc.rust-lang.org/1.83.0/std/os/unix/ffi/trait.OsStrExt.html) has split the path and added extra styling to it.

The problem is the new styling affects how this text is copied to clipboard. I used to copy and paste the paths into `use` statements in the code, but the new styling has extra formatting and whitespace that makes copied text unusable in Rust source code.

Instead of:

>  std::os::unix::ffi::OsStrExt

I now get:

> std
> ::
> os
> ::
> unix
> ::
> ffi
> Trait OsStrExt

This change removes extra whitespace from the markup, and removes `display: flex`. Paths (now in small text) are unlikely to be that long to wrap, and even then regular text wrapping should be sufficient.
ci.py: check the return code in `run-local`

If the run fails, it should report that and return a non-zero exit
status. The simplest way to do that is with `run(..., check=True)`,
which raises a `CalledProcessError`.
…rk-Simulacrum

Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls

Inspired by rust-lang/libs-team#526, if people are looking for `unchecked_div`, point them to `u32: Div<NonZero<u32>>` and friends which do no runtime checks -- and are safe! -- rather than today's behaviour of [the intrinsic being the top result](https://doc.rust-lang.org/std/?search=unchecked_div).

![image](https://github.com/user-attachments/assets/cf2a3c06-4876-49c1-8e33-64cd431c772a)
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like 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. labels Jan 26, 2025
@rustbot rustbot added T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jan 26, 2025
@jhpratt
Copy link
Member Author

jhpratt commented Jan 26, 2025

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Jan 26, 2025

📌 Commit 24a9bab has been approved by jhpratt

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 Jan 26, 2025
@bors
Copy link
Contributor

bors commented Jan 26, 2025

⌛ Testing commit 24a9bab with merge 3034d71...

bors added a commit to rust-lang-ci/rust that referenced this pull request Jan 26, 2025
Rollup of 8 pull requests

Successful merges:

 - rust-lang#133631 (Support QNX 7.1 with `io-sock`+libstd and QNX 8.0 (`no_std` only))
 - rust-lang#134358 (compiler: Set `target_abi = "ilp32e"` on all riscv32e targets)
 - rust-lang#135764 (Fix tests on LLVM 20)
 - rust-lang#135812 (Fix GDB `OsString` provider on Windows )
 - rust-lang#135842 (TRPL: more backward-compatible Edition changes)
 - rust-lang#135946 (Remove extra whitespace from rustdoc breadcrumbs for copypasting)
 - rust-lang#135953 (ci.py: check the return code in `run-local`)
 - rust-lang#136019 (Add an `unchecked_div` alias to the `Div<NonZero<_>>` impls)

Failed merges:

 - rust-lang#136037 (Mark all NuttX targets as tier 3 target and support the standard library)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
[3012/3409] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/CoverageFilters.cpp.obj
[3013/3409] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/TestingSupport.cpp.obj
[3014/3409] Building Opts.inc...
[3015/3409] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj
FAILED: tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj 
sccache D:\a\rust\rust\mingw64\bin\g++.exe -DGTEST_HAS_RTTI=0 -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:/a/rust/rust/build/x86_64-pc-windows-gnu/llvm/build/tools/llvm-cov -ID:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov -ID:/a/rust/rust/build/x86_64-pc-windows-gnu/llvm/build/include -ID:/a/rust/rust/src/llvm-project/llvm/include -ffunction-sections -fdata-sections -m64 -Wa,-mbig-obj -Werror=date-time -fno-lifetime-dse -w -ffunction-sections -fdata-sections  -O2 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj -MF tools\llvm-cov\CMakeFiles\llvm-cov.dir\SourceCoverageViewHTML.cpp.obj.d -o tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj -c D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
                 from D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/functional:64,
                 from D:/a/rust/rust/src/llvm-project/llvm/include/llvm/ADT/SmallVector.h:25,
                 from D:/a/rust/rust/src/llvm-project/llvm/include/llvm/Support/raw_ostream.h:16,
                 from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/RenderingSupport.h:12,
                 from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/RenderingSupport.h:12,
                 from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/CoverageViewOptions.h:13,
                 from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageView.h:16,
                 from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.h:16,
                 from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp:13:
D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/bits/stl_bvector.h: In member function 'std::vector<bool, _Alloc>::iterator std::vector<bool, _Alloc>::_M_copy_aligned(const_iterator, const_iterator, iterator)':
D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/bits/stl_bvector.h:1342:36: error: '__first' was not declared in this scope; did you mean '__fipst'?
 1342 |         _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
      |                                    __fipst
[3016/3409] Building CXX object tools/llvm-cxxdump/CMakeFiles/llvm-cxxdump.dir/llvm-cxxdump.cpp.obj
[3017/3409] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewText.cpp.obj
[3018/3409] Linking CXX shared library bin\libLTO.dll
---
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 finished in 690.890 seconds
##[endgroup]
Build completed unsuccessfully in 0:11:57
make: *** [Makefile:120: ci-mingw-x] Error 1
  network time: Sun, 26 Jan 2025 06:40:00 GMT
##[error]Process completed with exit code 2.
Post job cleanup.
[command]"C:\Program Files\Git\bin\git.exe" version

@bors
Copy link
Contributor

bors commented Jan 26, 2025

💔 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 Jan 26, 2025
@jhpratt jhpratt mentioned this pull request Jan 26, 2025
@jhpratt jhpratt closed this Jan 26, 2025
@jhpratt jhpratt deleted the rollup-4li30te branch January 26, 2025 06:51
@jieyouxu
Copy link
Member

Hmm

2025-01-26T06:39:57.3460079Z FAILED: tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj 
2025-01-26T06:39:57.3466448Z sccache D:\a\rust\rust\mingw64\bin\g++.exe -DGTEST_HAS_RTTI=0 -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -ID:/a/rust/rust/build/x86_64-pc-windows-gnu/llvm/build/tools/llvm-cov -ID:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov -ID:/a/rust/rust/build/x86_64-pc-windows-gnu/llvm/build/include -ID:/a/rust/rust/src/llvm-project/llvm/include -ffunction-sections -fdata-sections -m64 -Wa,-mbig-obj -Werror=date-time -fno-lifetime-dse -w -ffunction-sections -fdata-sections  -O2 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj -MF tools\llvm-cov\CMakeFiles\llvm-cov.dir\SourceCoverageViewHTML.cpp.obj.d -o tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.obj -c D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
2025-01-26T06:39:57.3472644Z In file included from D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/vector:67,
2025-01-26T06:39:57.3473731Z                  from D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/functional:64,
2025-01-26T06:39:57.3474698Z                  from D:/a/rust/rust/src/llvm-project/llvm/include/llvm/ADT/SmallVector.h:25,
2025-01-26T06:39:57.3475633Z                  from D:/a/rust/rust/src/llvm-project/llvm/include/llvm/Support/raw_ostream.h:16,
2025-01-26T06:39:57.3476584Z                  from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/RenderingSupport.h:12,
2025-01-26T06:39:57.3477553Z                  from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/CoverageViewOptions.h:13,
2025-01-26T06:39:57.3478531Z                  from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageView.h:16,
2025-01-26T06:39:57.3479545Z                  from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.h:16,
2025-01-26T06:39:57.3480595Z                  from D:/a/rust/rust/src/llvm-project/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp:13:
2025-01-26T06:39:57.3482595Z D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/bits/stl_bvector.h: In member function 'std::vector<bool, _Alloc>::iterator std::vector<bool, _Alloc>::_M_copy_aligned(const_iterator, const_iterator, iterator)':
2025-01-26T06:39:57.3484776Z D:/a/rust/rust/mingw64/lib/gcc/x86_64-w64-mingw32/14.1.0/include/c++/bits/stl_bvector.h:1342:36: error: '__first' was not declared in this scope; did you mean '__fipst'?
2025-01-26T06:40:00.2737766Z  1342 |         _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
2025-01-26T06:40:00.2738484Z       |                                    ^~~~~~~
2025-01-26T06:40:00.2738970Z       |                                    __fipst
2025-01-26T06:40:00.2739831Z [3016/3409] Building CXX object tools/llvm-cxxdump/CMakeFiles/llvm-cxxdump.dir/llvm-cxxdump.cpp.obj
2025-01-26T06:40:00.2741042Z [3017/3409] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewText.cpp.obj
2025-01-26T06:40:00.2741949Z [3018/3409] Linking CXX shared library bin\libLTO.dll
2025-01-26T06:40:00.2742499Z ninja: build stopped: subcommand failed.
2025-01-26T06:40:00.2811009Z 
2025-01-26T06:40:00.2811869Z thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\cmake-0.1.48\src\lib.rs:975:5:
2025-01-26T06:40:00.2812743Z 
2025-01-26T06:40:00.2813021Z command did not execute successfully, got: exit code: 1

@jieyouxu
Copy link
Member

I don't believe anything in this rollup can lead to that failure

@jhpratt
Copy link
Member Author

jhpratt commented Jan 26, 2025

I wouldn't think so either. I've never used C++ beyond trivial scripts, but it certainly looks like LLVM's code coverage tool itself is failing to compile. I assume that in order to run the tests altered in that PR, llvm-cov gets compiled? That's the only possible connection I could think of, which is why I r-'d the PR.

I suppose we'll find out quite quickly if there's any connection, as there's another rollup being tested at the moment. That rollup is a different, non-overlapping set of PRs compared to this one.

@jieyouxu
Copy link
Member

Ah... That is likely yes.

@jhpratt
Copy link
Member Author

jhpratt commented Jan 26, 2025

Hopefully I'm wrong! I'm not familiar with how all of the tools are built, so that very well could be the case.

@jieyouxu
Copy link
Member

Yeah, we'll find out soon enough if master is broken, lol

@Zalathar
Copy link
Contributor

My guess is that this is a flaky bit of memory on the CI runner.

It's pointing to a variable declared as __first, but says it's spelled __fipst, which is exactly one (cleared) bit different.

https://github.com/gcc-mirror/gcc/blob/cd0059a1976303638cea95f216de129334fc04d1/libstdc%2B%2B-v3/include/bits/stl_bvector.h#L1336-L1345

@jhpratt
Copy link
Member Author

jhpratt commented Jan 26, 2025

Damn cosmic rays…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like 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
None yet
Development

Successfully merging this pull request may close these issues.