Commit Graph

1369 Commits

Author SHA1 Message Date
Nicholas Bishop 01a2a546be test-various: Use clang for the UEFI test
This syncs it with how the UEFI targets are built in dist-various-2.
2022-11-20 19:16:43 +00:00
Nicholas Bishop eafe61d6bd dist-various-2: Use clang for the UEFI targets
This fixes an issue where the C and asm sources built by
compiler_builtins were being compiled as ELF objects instead of PE
objects. This wasn't noticed before because it doesn't cause
compiler_builtins or rustc to fail to build. You only see a failure when
a program is built that references one of the symbols in an ELF object.

Compiling with clang fixes this because the `cc` crate converts the UEFI
targets into Windows targets that clang understands, causing it to
produce PE objects.

Note that this requires compiler_builtins >= 0.1.84.

Fixes https://github.com/rust-lang/rust/issues/104326
2022-11-20 00:03:10 +00:00
Pietro Albini 09340e3c57 install the target g++ in armhf-gnu 2022-11-17 09:37:37 +01:00
Matthias Krüger 98be657c7c Rollup merge of #103842 - andrewpollack:add-fuchsia-test-script, r=tmandry
Adding Fuchsia compiler testing script, docs

Adding Fuchsia compiler testing script and related docs updates

r? `@tmandry`

cc. `@djkoloski`
2022-11-15 01:40:42 +01:00
Manish Goregaokar 7678cfdf18 Rollup merge of #104304 - uweigand:s390x-profiler, r=Mark-Simulacrum
Enable profiler in dist-s390x-linux

Build the profiler runtime to allow using -C profile-generate and -C instrument-coverage on s390x-linux.

I've verified in a local build that the runtime builds and the profiler is working fine on the platform.
2022-11-13 21:49:27 -05:00
Manish Goregaokar 1b91bdfda9 Rollup merge of #103709 - cuviper:netbsd-9, r=pietroalbini
ci: Upgrade dist-x86_64-netbsd to NetBSD 9.0

This is another step in toolchain upgrades for LLVM 16, which will need at least GCC 7.1.

Our previous NetBSD 8.0 cross-toolchain used its system GCC 5.5. While there are newer versions available in pkgsrc, I could not get those working for cross-compilation. Upgrading to NetBSD 9.0 gets us GCC 7.4, which is sufficient for now.

This will affect the compatibility of the build we ship for `x86_64-unknown-netbsd`, but others may still build their own from source if that is needed. It is expected that NetBSD 8 will reach EOL soon anyway, approximately one month after 10 is released, but there is no firm date for that.
2022-11-13 21:49:24 -05:00
Ulrich Weigand 34c6b6cd7d Enable profiler in dist-s390x-linux
Build the profiler runtime to allow using -C profile-generate
and -C instrument-coverage on s390x-linux.

I've verified in a local build that the runtime builds and
the profiler is working fine on the platform.
2022-11-11 23:22:58 +01:00
Andrew Pollack e1636b83e3 Adding Fuchsia compiler testing script, docs 2022-11-11 18:44:33 +00:00
Dylan DPC 378112034e Rollup merge of #104245 - kubycsolutions:master, r=jyn514
Reduce default configuration's dependency upon static libstdcpp library (#103606)

Fixes #103606

Remove default dependency on static libstdcpp except during dist llvm builds (where we want static libraries so `libLLVM.so` is self-contained).
2022-11-11 20:51:42 +05:30
kubycsolutions b8edf0213e Avoid runtime dependency on static libstdc++
Usually, we do want to use the static C++ library when building rustc_llvm, but do not want to have that dependency at compiler runtime. Change the defaults to Make It So.
2022-11-10 19:37:09 -05:00
Michael Goulet 985fa02783 Rollup merge of #104201 - GuillaumeGomez:gui-test-check-file-errors, r=notriddle
Add check in GUI test for file loading failure

Since https://github.com/rust-lang/rust/pull/101702, some resources location need to be updated in case their content changed because then their hash will change too. This will prevent errors like https://github.com/rust-lang/rust/pull/104114 to happen again.

The second commit is to prevent CORS errors: when a file is linked from a file itself imported, the web browser considers they come from a different domain and therefore triggers the error. The option tells the web browser to ignore this case.

cc ```@jsha```
r? ```@notriddle```
2022-11-09 21:53:37 -08:00
Guillaume Gomez dc766874aa Update browser-ui-test version to 0.13.1 2022-11-09 17:00:18 +01:00
Dylan DPC 2313d32c36 Rollup merge of #103933 - nicholasbishop:bishop-uefi-tier-2, r=JohnTitor
Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2

MCP: https://github.com/rust-lang/compiler-team/issues/555

CC `@dvdhrm`
2022-11-09 19:21:23 +05:30
bors d69c33ad4c Auto merge of #103569 - RalfJung:miri-test-macos, r=Mark-Simulacrum
fix and (re-)enable Miri cross-target checks on macOS and Windows

Fixes https://github.com/rust-lang/rust/issues/103519
r? `@Mark-Simulacrum`
2022-11-07 17:04:06 +00:00
bors c2a5c3a50f Auto merge of #101703 - nicholasbishop:bishop-add-uefi-ci-2, r=jyn514
Add QEMU test for x86_64-unknown-uefi

The UEFI targets don't have std support yet, so the normal tests don't work. However, we can compile a simple no-std program and run it under QEMU to at least check that the target compiles, links, and runs.

Tested locally with: `src/ci/docker/run.sh x86_64-uefi`
2022-11-04 17:00:24 +00:00
Nicholas Bishop 971a146e55 Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2
MCP: https://github.com/rust-lang/compiler-team/issues/555
2022-11-04 11:41:44 -04:00
Jakub Beránek f00d2c9c90 Revert "ci: Bring back ninja for dist builders" 2022-11-01 19:36:25 +01:00
Dylan DPC 3affb05737 Rollup merge of #103732 - Mark-Simulacrum:revert-compiler-builtins, r=jyn514
Revert "Make the `c` feature for `compiler-builtins` opt-in instead of inferred"

This reverts commit 3acb505ee5 (PR #101833).

The changes in this commit caused several bugs/incompatibilities (https://github.com/rust-lang/rust/pull/101833#issuecomment-1270191721, https://github.com/rust-lang/rust/issues/102560). For now we're reverting this commit and will re-land it alongside fixes for those bugs.

Re-opens #101172
cc #102560
cc #102579
2022-10-31 14:52:56 +05:30
bors 5ab74459b8 Auto merge of #103295 - ishitatsuyuki:ninja, r=cuviper
ci: Bring back ninja for dist builders

The primary reason for this is that make can result in a substantial under utilization of parallelism (noticed while testing on a workstation), mostly due to the submake structure preventing good dependency tracking and scheduling.

In f758c7b2a7 (Debian 6 doesn't have ninja, so use make for the dist builds) llvm.ninja was disabled due to lack of distro package. This is no longer the case with the CentOS 7 base, so bring ninja back for a performance boost.
2022-10-30 14:13:42 +00:00
Ralf Jung c905fd285a skip bootstrap target sanity checks when testing Miri 2022-10-30 10:28:46 +01:00
Mark Rousskov b0db70e203 Drop miri cross-compile check for Windows 2022-10-29 14:24:44 -04:00
Mark Rousskov 5984b1d86f Revert "Make the c feature for compiler-builtins opt-in instead of inferred"
This reverts commit 3acb505ee5
(PR #101833).

The changes in this commit caused several bugs or at least
incompatibilies. For now we're reverting this commit and will re-land it
alongside fixes for those bugs.
2022-10-29 10:49:05 -04:00
Josh Stone 32a3130813 Upgrade dist-x86_64-netbsd to NetBSD 9.0 2022-10-28 18:49:48 -07:00
bors 85d089b41e Auto merge of #103392 - RalfJung:miri, r=oli-obk
update Miri

I had to use a hacked version of josh to create this, so let's be careful with merging this and maybe wait a bit to see if the josh issue becomes more clear. But the history looks good to me, we are not adding duplicates of rustc commits that were previously mirrored to Miri.

Also I want to add some cross-testing of Miri in x.py.
2022-10-25 12:33:39 +00:00
Ralf Jung a157e0e88f Miri: disable macOS testing for now 2022-10-25 13:40:38 +02:00
Ralf Jung a61737ed6e add support for testing Miri on other targets, and do some cross-testing on CI 2022-10-24 11:49:36 +02:00
bors 7aa3613908 Auto merge of #103062 - cuviper:dist-mips, r=Mark-Simulacrum
Upgrade dist-mips*-linux to ubuntu:22.04 + crosstool-ng

These have no change in compatibility, still Linux 4.4 and glibc 2.23.

The main motivation for upgrading is that LLVM 16 will require at least GCC 7.1. Using crosstool-ng lets us choose our own toolchain versions, and then the Ubuntu version doesn't matter so much, just for the host compilation while we cross-compile.
2022-10-23 21:38:43 +00:00
Jakub Beránek cba16819a1 Add rust.lto config option 2022-10-23 13:43:08 +02:00
Tatsuyuki Ishi 354e95ac62 ci: Use ninja in build-clang.sh
Now that we have brought ninja back to the installed base packages, we can
use it for the initial Clang build as well.
2022-10-20 18:18:25 +09:00
Tatsuyuki Ishi aad709b7ac ci: Bring back ninja for dist builders
The primary reason for this is that make can result in a substantial
under utilization of parallelism, mostly due to the submake structure
preventing good dependency tracking and scheduling.

In f758c7b2a7 (Debian 6 doesn't have ninja, so use make for the dist builds)
llvm.ninja was disabled due to lack of distro package. This is no longer the
case with the CentOS 7 base, so bring ninja back for a performance boost.
2022-10-20 18:18:20 +09:00
Guillaume Gomez ffe24e5bc6 Update browser-ui-test version to 0.12.7 2022-10-19 11:08:13 +02:00
Guillaume Gomez a3eab0ba67 Update browser-ui-test version to 0.12.6 2022-10-17 18:08:40 +02:00
Guillaume Gomez 29e6b2ddb8 Update browser-ui-test version to 0.12.5 2022-10-16 14:12:24 +02:00
Matthias Krüger fa1279fbb5 Rollup merge of #103047 - GuillaumeGomez:update-browser-ui-test, r=notriddle
Update browser-ui-test version to fix some flaky tests

Part of #93784.

It should fix the new spurious failure found in https://github.com/rust-lang/rust/pull/102744.

r? ``@notriddle``
2022-10-14 23:43:45 +02:00
Josh Stone 6c49e9ed03 Upgrade dist-mips*-linux to ubuntu:22.04 + crosstool-ng
These have no change in compatibility, still Linux 4.4 and glibc 2.23.
2022-10-14 08:57:52 -07:00
Guillaume Gomez 0313fbe5a9 Update browser-ui-test version to fix some flaky tests 2022-10-14 12:47:20 +02:00
Ralf Jung dbb4271bb4 checktools: fix comments 2022-10-14 08:41:59 +02:00
Matthias Krüger 5f156cc57b Rollup merge of #103011 - GuillaumeGomez:improve-unsafe-fn-gui-test, r=notriddle
Improve rustdoc `unsafe-fn` GUI test

r? ``@notriddle``
2022-10-14 00:45:18 +02:00
Guillaume Gomez c47337e115 Update browser-ui-test version to 0.12.3 2022-10-13 16:50:11 +02:00
Ralf Jung 9c26fec046 should-skip-this: add missing backslash 2022-10-12 08:19:50 +02:00
Matthias Krüger a52eba4a89 Rollup merge of #102888 - GuillaumeGomez:improve-search-color-check, r=notriddle
Improve rustdoc-gui search-color test

Thanks to the add of "functions" in `browser-ui-test`, we can start to reduce the size of the scripts. It'll be very useful for all color checks.

r? `@notriddle`
2022-10-10 20:47:34 +02:00
Guillaume Gomez c6803fa30e Update browser-ui-test version to 0.12.2 2022-10-10 18:00:05 +02:00
bors 8dfb40722d Auto merge of #94381 - Kobzol:llvm-bolt, r=Mark-Simulacrum
Use BOLT in CI to optimize LLVM

This PR adds an optimization step in the Linux `dist` CI pipeline that uses [BOLT](https://github.com/llvm/llvm-project/tree/main/bolt) to optimize the `libLLVM.so` library built by boostrap.

Steps:
- [x] Use LLVM 15 as a bootstrap compiler and use it to build BOLT
- [x] Compile LLVM with support for relocations (`-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-q"`)
- [x] Gather profile data using instrumented LLVM
- [x] Apply profile to LLVM that has already been PGOfied
- [x] Run with BOLT profiling on more benchmarks
- [x] Decide on the order of optimization (PGO -> BOLT?)
- [x] Decide how we should get `bolt` (currently we use the host `bolt`)
- [x] Clean up

The latest perf results can be found [here](https://github.com/rust-lang/rust/pull/94381#issuecomment-1258269440). The current CI build time with BOLT applied is around 1h 55 minutes.
2022-10-10 06:18:58 +00:00
bors 79a664d8b0 Auto merge of #102332 - chriswailes:ndk-update, r=chriswailes
Update CI to use Android NDK r25b

This commit updates the CI definitions to use the most recent Android LTS NDK release: r25b.  Changes since the last NDK used by Rust negate the need to generate "standalone toolchains" and newer NDKs can be used in-place.

See https://developer.android.com/ndk/guides/other_build_systems#overview
2022-10-09 11:33:02 +00:00
Jakub Beránek cc475f5ef2 Use BOLT in x64 dist CI to optimize LLVM 2022-10-09 11:31:09 +02:00
Matthias Krüger 91b9a92e51 Rollup merge of #102789 - GuillaumeGomez:update-browser-ui-test-version, r=notriddle
Update browser UI test version

It added the possibility to concatenate strings and numbers and updated the `goto` command so it doesn't stand on its own anymore.

r? ````@notriddle````
2022-10-08 14:38:20 +02:00
Guillaume Gomez 6d4013d983 Update browser-ui-test version 2022-10-07 20:17:22 +02:00
Ralf Jung 3d93c3848a run Miri CI when std::sys changes 2022-10-07 14:39:07 +02:00
Josh Stone 1158398688 Disable compressed debug sections on i586-gnu
Compressed debug is enabled by default for gas (assembly) on Linux/x86
targets, and we started building our own in #102530, but that made our
`compiler_builtins` incompatible with binutils < 2.32. Add an explicit
option to disable that in our crosstool-ng config. Fixes #102703.
2022-10-06 12:13:23 -07:00
bors 27579a214d Auto merge of #102573 - RalfJung:mirisync, r=oli-obk
Miri sync

This is a Miri sync created with my experimental fork of josh. We should probably not merge this yet, but we can use this to check if the sync looks the way it should.

r? `@oli-obk`
2022-10-06 00:00:29 +00:00