Commit graph

1533 commits

Author SHA1 Message Date
Matthias Krüger
03c4462222
Rollup merge of #135640 - Gelbpunkt:drop-mips-glibc-patches, r=Kobzol
Drop MIPS glibc 2.23 patches that reside in crosstool-ng now

These patches were added to crosstool-ng in b88d338516 and are therefore duplicate and fail to apply, breaking builds of `dist-mips*-linux`.

I have compile tested `dist-mipsel-linux`, I assume the other targets will work just as fine now.
2025-01-19 01:18:55 +01:00
Matthias Krüger
81a464f8a5
Rollup merge of #135623 - marcoieni:mingw-check-tidy-dockerfile, r=Kobzol
ci: use ghcr ubuntu image for mingw-check-tidy
2025-01-19 01:18:54 +01:00
Erick Tryzelaar
37a88ba320 Bump Fuchsia integration commit
This advances Fuchsia to a checkout from 2025-01-13, which corresponds
to a recent Rust roll, and hopefully avoids #135667, where a repository
used by the older version of Rust was accidentally archived and broke
checking out the prior version.

try-job: x86_64-fuchsia
2025-01-18 06:13:00 +00:00
Jens Reidel
dfb816208a
Drop MIPS glibc 2.23 patches that reside in crosstool-ng now
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2025-01-17 18:34:45 +01:00
MarcoIeni
ffc7b5dc20
ci: use ghcr ubuntu image for mingw-check-tidy 2025-01-17 13:14:51 +01:00
Jacob Pratt
f9d8b6590d
Rollup merge of #133807 - mrkajetanp:ci-aarch64-opt-dist, r=Kobzol
ci: Enable opt-dist for dist-aarch64-linux builds

Move the CI dist-aarch64-linux job to an aarch64 runner and enable optimised dist builds with the opt-dist pipeline.

For the time being, disable bolt on aarch64 due to upstream bolt bugs.

r? `@Kobzol`
cc `@lqd`

try-job: dist-aarch64-linux
2025-01-15 04:08:11 -05:00
Matthias Krüger
e0e2f6a200
Rollup merge of #135476 - kleisauke:remove-asmjs-remnant, r=Kobzol
Remove remnant of asmjs

See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14 19:25:07 +01:00
Kleis Auke Wolthuizen
3a66b97b9b Remove remnant of asmjs
See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14 10:49:32 +01:00
Antoni Boucher
f3cfff7e98 Fix error in CI by updating the GCC version 2025-01-13 14:22:15 -05:00
Kajetan Puchalski
3d54764121 ci: Enable opt-dist for dist-aarch64-linux builds
Enable optimised AArch64 dist builds with the opt-dist pipeline.

For the time being, disable bolt on aarch64 due to upstream bolt bugs.
2025-01-13 10:33:28 +00:00
Kajetan Puchalski
9ba34f8347 ci: Organise shared helper scripts
Move shared helper scripts used by Docker builds under docker/scripts.
2025-01-11 15:15:11 +00:00
Kajetan Puchalski
dce8c06de3 ci: Move dist-aarch64-linux to an aarch64 runner
Move the dist-aarch64-linux CI job to an aarch64 runner instead of
cross-compiling it from an x86 one. This will make it possible to
perform optimisations such as LTO, PGO and BOLT later on.
2025-01-10 14:10:41 +00:00
Jakub Beránek
e4b6ccef43 Update documentation 2025-01-07 18:15:13 +01:00
crystalstall
591bf63439 chore: remove redundant words in comment
Signed-off-by: crystalstall <crystalruby@qq.com>
2025-01-06 15:47:49 +08:00
Jakub Beránek
bbb5ca7c79 Enable Python formatting checks in tidy on CI 2024-12-31 13:13:15 +01:00
ranger-ross
b4d14ceae7
ci: Cleanup docker build logs in CI 2024-12-31 00:28:58 +09:00
Jakub Beránek
9007cb15e4 Document how to run the split Docker pipelines 2024-12-29 18:02:14 +01:00
bors
ecc189922d Auto merge of #134690 - clubby789:ci-clang-lto, r=Kobzol
CI: Add LTO support to clang in dist-x86_64-linux

After https://github.com/rust-lang/cc-rs/pull/1279, we attempt to pass `-flto=thin` to clang. In `dist-x86_64-linux`, we don't build clang with the `LLVMgold.so` library so this fails. This attempts to resolve this
First, pass the binutils plugin include directory to Clang, [which will build the library](2d6d723a85/llvm/docs/GoldPlugin.rst (how-to-build-it))
Second, this library depends on the *version of libstdc++ that we built* specifically. However, despite both the RPATH and LD_LIBRARY_PATH pointing to `/rustroot/lib`, we incorrectly resolve to the system libstdc++, which doesn't load.
```
# LD_DEBUG=libs,files
      2219:    file=libstdc++.so.6 [0];  needed by /rustroot/bin/../lib/LLVMgold.so [0]
      2219:    find library=libstdc++.so.6 [0]; searching
      2219:     search path=/rustroot/bin/../lib/../lib        (RPATH from file /rustroot/bin/../lib/LLVMgold.so)
      2219:      trying file=/rustroot/bin/../lib/../lib/libstdc++.so.6
      2219:     search path=/usr/lib64/tls:/usr/lib64        (system search path)
      2219:      trying file=/usr/lib64/tls/libstdc++.so.6
      2219:      trying file=/usr/lib64/libstdc++.so.6
```

Using `LD_PRELOAD` causes it to correctly load the library

I think this is probably not the most maintainable way to do this, so opening to see if this is desired and if there's a better way of doing this
2024-12-27 23:22:08 +00:00
clubby789
9e57593fdb Add LTO support to clang in CI 2024-12-27 11:04:16 +00:00
clubby789
e5f676521c Strip debuginfo from rustc-main and rustdoc 2024-12-26 22:34:09 +00:00
clubby789
d124ec68b3 Link to dev guide on Docker testing 2024-12-23 09:35:14 +00:00
Matthias Krüger
22de6f6880
Rollup merge of #134581 - erickt:bump_sdk, r=lqd
Bump Fuchsia toolchain for testing

This updates the Fuchsia SDK used to test rust on Fuchsia to 26.20241211.7.1, and clang to the development version 20 from 388d7f144880dcd85ff31f06793304405a9f44b6.

```@steven807``` asked me to take over the PR. Since I don't have commit access to his repo, I just cherry picked his patch here.

try-job: dist-various-2

r? lqd
2024-12-21 22:16:04 +01:00
Jakub Beránek
69a6c9c365
Revert "Auto merge of #133902 - Kobzol:ci-dist-arm-runner, r=MarcoIeni"
This reverts commit b597d2a099, reversing
changes made to ff7906bfe1.
2024-12-21 13:51:17 +01:00
Jakub Beránek
a5dce0e16d Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol"
This reverts commit 023521e682, reversing
changes made to c434b4b4b6.
2024-12-20 16:04:39 +01:00
许杰友 Jieyou Xu (Joe)
aa90dbcf13
Rollup merge of #134427 - MarcoIeni:ci-remove-code-duplication, r=Kobzol
ci: remove duplicate task definition

try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-19-2
try-job: x86_64-gnu-llvm-19-3
try-job: x86_64-gnu-llvm-18-1
try-job: x86_64-gnu-llvm-18-2
try-job: x86_64-gnu-llvm-18-3
try-job: i686-gnu-1
try-job: i686-gnu-2
try-job: i686-gnu-nopt-1
try-job: i686-gnu-nopt-2
2024-12-19 16:48:08 +08:00
Steven Grady
a93c95b85b Bump Fuchsia toolchain for testing
This updates the Fuchsia SDK used to test rust on Fuchsia to
26.20241211.7.1, and clang to the development version 20 from
388d7f144880dcd85ff31f06793304405a9f44b6.
2024-12-18 11:40:01 -08:00
Kajetan Puchalski
3afda7e798
ci: Organise shared helper scripts
Move shared helper scripts used by Docker builds under docker/scripts.
2024-12-18 10:53:41 +00:00
Kajetan Puchalski
8857b84078
ci: Move dist-aarch64-linux to an aarch64 runner
Move the dist-aarch64-linux CI job to an aarch64 runner instead of
cross-compiling it from an x86 one. This will make it possible to
perform optimisations such as LTO, PGO and BOLT later on.
2024-12-18 10:45:13 +00:00
Matthias Krüger
ca5dfa74f1
Rollup merge of #133801 - Gelbpunkt:powerpc64le-unknown-linux-musl-tier-2, r=jieyouxu,Urgau,Kobzol
Promote powerpc64le-unknown-linux-musl to tier 2 with host tools

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

I'm using crosstool-ng for building a toolchain because GCC 9 from `musl-toolchain.sh` has float ABI issues (?) and can't compile LLVM, and writing a crosstool-ng config for a target feels less hacky than yet another target specific shell script. I also defined a kernel version, since there wasn't one specified before. If a lower version is desired, just let me know. I also tried to match the rust configure args with the loongarch64 musl tier 2 target.

The resulting compiler works fine, built with `DEPLOY=1 ./src/ci/docker/run.sh dist-powerpc64le-linux` and tested on Alpine Linux in a VM and on a bare metal POWER8 machine:
```
qemu-ppc64le:/tmp/rust-nightly-powerpc64le-unknown-linux-musl$ ash install.sh
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rustc'
install: installing component 'rust-std-powerpc64le-unknown-linux-musl'
install: installing component 'cargo'
install: installing component 'rustfmt-preview'
install: installing component 'rls-preview'
install: installing component 'rust-analyzer-preview'
install: installing component 'llvm-tools-preview'
install: installing component 'clippy-preview'
install: installing component 'miri-preview'
install: installing component 'rust-analysis-powerpc64le-unknown-linux-musl'
install: installing component 'llvm-bitcode-linker-preview'
install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error

    rust installed.

qemu-ppc64le:~$ echo 'fn main() { println!("hello world"); }' > test.rs
qemu-ppc64le:~$ rustc test.rs
qemu-ppc64le:~$ ./test
hello world
qemu-ppc64le:~$ file test
test: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, OpenPOWER ELF V2 ABI, version 1 (SYSV), statically linked, BuildID[sha1]=596ee6abf9add487ebc54fb71c2076fb6faea013, with debug_info, not stripped
```

try-job: dist-powerpc64le-linux
2024-12-17 22:34:41 +01:00
MarcoIeni
5980dfe063
ci: remove duplicate task definition 2024-12-17 18:15:33 +01:00
Matthias Krüger
0ff00b6adb
Rollup merge of #134124 - MarcoIeni:split-llvm-jobs, r=Kobzol
CI: use free runners for x86_64-gnu-llvm jobs

try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-19-2
try-job: x86_64-gnu-llvm-19-3
try-job: x86_64-gnu-llvm-18-1
try-job: x86_64-gnu-llvm-18-2
try-job: x86_64-gnu-llvm-18-3
2024-12-16 20:00:09 +01:00
Matthias Krüger
352e3232b9
Rollup merge of #134227 - alexcrichton:update-wasi-sdk, r=lqd
Update wasi-sdk used to build WASI targets

Bump to the latest wasi-sdk-25 release which brings in various wasi-libc updates as well as LLVM 19 as the version used to compile wasi-libc.

- https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-24
- https://github.com/WebAssembly/wasi-sdk/releases/tag/wasi-sdk-25
2024-12-14 14:07:58 +01:00
Alex Crichton
6b93fac9ff Update wasi-sdk used to build WASI targets
Bump to the latest wasi-sdk-25 release which brings in various wasi-libc
updates as well as LLVM 19 as the version used to compile wasi-libc.
2024-12-12 11:00:02 -08:00
MarcoIeni
ac078a4ccc
fix path 2024-12-12 19:34:45 +01:00
MarcoIeni
4fa9078b17
fix path 2024-12-12 19:19:04 +01:00
MarcoIeni
a67a71da18
add files 2024-12-12 18:34:20 +01:00
MarcoIeni
2bf1cec41b
refactor 2024-12-12 18:07:47 +01:00
MarcoIeni
a1abbaab0d
remove echo logs 2024-12-12 18:02:19 +01:00
MarcoIeni
aa0fd4621e
copy script 2024-12-12 14:49:59 +01:00
MarcoIeni
7ce2944ef9
test stage 1 in separate job 2024-12-12 12:59:30 +01:00
Steven Grady
f39e813c0f
Bump Fuchsia 2024-12-11 16:35:43 -08:00
MarcoIeni
1f38572e57
fix 2024-12-11 17:43:12 +01:00
MarcoIeni
fee220a900
fix 2024-12-11 15:21:03 +01:00
MarcoIeni
eec9bcf163
more debug 2024-12-11 12:47:58 +01:00
MarcoIeni
9ed728d19e
debug 2024-12-11 12:31:13 +01:00
MarcoIeni
d74de1fdb1
debug 2024-12-11 11:43:11 +01:00
MarcoIeni
a8bc3cf38b
fix 2024-12-11 11:36:39 +01:00
MarcoIeni
abd8352de7
restore command 2024-12-11 11:29:18 +01:00
MarcoIeni
84ba41dcd8
remove unnecessary change 2024-12-11 11:21:21 +01:00
MarcoIeni
bb88d7a0f1
fix 2024-12-11 11:09:32 +01:00