Commit graph

118 commits

Author SHA1 Message Date
Trevor Gross
22d00dcd47 Apply changes to fix python linting errors 2023-06-16 20:56:01 -04:00
WANG Rui
5f173e979f ci: Add support for dist-loongarch64-linux
Co-Authored-By: YANG Xiaojuan <yangxiaojuan@loongson.cn>
2023-05-12 18:31:55 +08:00
bors
6e96802bf5 Auto merge of #107129 - wesleywiser:musl_1.2_upgrade, r=petrochenkov
Update the version of musl used on `*-linux-musl` targets to 1.2.3

Update the version of musl used on our Linux musl targets from 1.1.24 to 1.2.3 as proposed in rust-lang/compiler-team#572. musl 1.2.3 is the latest version of musl and supports the same range of Linux kernels as the 1.1 series. As such, it does not affect the minimum supported version of Linux for any of the musl targets.

One of the major musl 1.2 features is support for [time64](https://musl.libc.org/time64.html). This support is both source and ABI compatible with programs built against musl 1.1 and so updating the musl version for these targets should not cause Rust programs to fail to run or compile (a [crater run](https://github.com/rust-lang/rust/pull/107129#issuecomment-1407196104) has been completed which demonstrates this for the `i686-unknown-linux-musl` target).

Once this change reaches stable, the `libc` crate will then be able to [update their definitions to support 64-bit time](https://github.com/rust-lang/libc/pull/3068), matching the default musl 1.2 APIs exactly.

Fixes #91178
2023-05-06 04:20:18 +00:00
Manish Goregaokar
31aeef28f8
Rollup merge of #111154 - djkoloski:use_builtin_ffx_isolation, r=tmandry
Use builtin FFX isolation for Fuchsia test runner

FFX has new builtin support for isolating the daemon's environment. This switches the manual isolation originally written to that new builtin feature.

r? ````@tmandry````
2023-05-03 16:42:52 -07:00
David Koloski
e97383657e Use builtin FFX isolation for Fuchsia test runner
FFX has new builtin support for isolating the daemon's environment. This
switches the manual isolation originally written to that new builtin
feature.
2023-05-03 14:56:04 -04:00
Josh Stone
16dfd89862 ci: refactor crosstool-ng to use mini-defconfig 2023-04-26 13:42:10 -07:00
Josh Stone
d7d67d83ff ci: upgrade to crosstool-ng 1.25.0 2023-04-26 13:42:10 -07:00
Josh Soref
9c8d10a9f3 Spelling src/ci
* architecture
* configures
* preparation
* toolstate
* unknown

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-17 13:36:45 -04:00
Kleis Auke Wolthuizen
7b40eb71a9 Update Emscripten on CI to 2.0.5
`getentropy()` is available since Emscripten 2.0.5.

See:
https://github.com/emscripten-core/emscripten/pull/12240
2023-03-29 11:26:58 +02:00
David Koloski
c9f1a541b3 Run compiler test suite in parallel on Fuchsia 2023-03-01 15:35:00 -05:00
David Koloski
6e7902bc3d Update fuchsia-test-runner.py and docs
This updates the test runner to the latest version of the SDK and fixes
debugging support for Rust source code.
2023-02-24 15:39:58 -05:00
Joseph Ryan
eb5e9713b5 Use triple rather than arch for fuchsia test runner 2023-02-02 13:29:03 -08:00
Wesley Wiser
cb93f92b84 Specify version of Linux headers 2023-01-20 15:20:08 -05:00
Wesley Wiser
7a4eefcdfc Bump musl-cross-make to get support for building musl 1.2.3 2023-01-20 15:20:08 -05:00
Wesley Wiser
4af36a4c6f Upgrade to musl 1.2.3 2023-01-20 15:20:08 -05:00
bors
333ee6c466 Auto merge of #105716 - chriswailes:ndk-update-redux, r=pietroalbini
Ndk update redux

Blocked on https://github.com/rust-lang/blog.rust-lang.org/pull/1055
2023-01-18 19:49:02 +00:00
David Koloski
f6ef039775 Add vendor to Fuchsia's target triple
Historically, Rust's Fuchsia targets have been labeled x86_64-fuchsia
and aarch64-fuchsia. However, they should technically contain vendor
information. This CL changes Fuchsia's target triples to include the
"unknown" vendor since Clang now does normalization and handles all
triple spellings.

This was previously attempted in #90510, which was closed due to
inactivity.
2023-01-05 09:34:22 -05:00
Chris Wailes
0fb426ace4 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-12-14 11:33:08 -08:00
Andrew Pollack
c14b85c11e
Adjust log line in fuchsia-test-runner.py
* Adjusting log line in `fuchsia-test-runner.py` to refer to self
2022-12-13 09:26:12 -08:00
David CARLIER
71cf892235 std update libc version and freebsd image build dependencies 2022-12-03 19:01:55 +00:00
Matthias Krüger
8bcb473f0f
Rollup merge of #104465 - djkoloski:improve_fuchsia_testing_docs, r=tmandry
Document more settings for building rustc for Fuchsia

This documents that you need to link for Fuchsia with `lld` and provides configuration settings for both `clang` and `lld`. It also adjusts the documentation for running the test suite to recommend installing to a prefix.

r? ``@tmandry``
2022-11-29 05:24:20 +01:00
Alex Pinkus
6f1c7b2470 Revert "Update CI to use Android NDK r25b"
This reverts commit bf7f1ca316.
2022-11-19 18:48:26 -08:00
David Koloski
9ed297769a [fuchsia] Document more settings for building Rust 2022-11-16 22:15:14 -05:00
Andrew Pollack
e1636b83e3 Adding Fuchsia compiler testing script, docs 2022-11-11 18:44:33 +00:00
Chris Wailes
bf7f1ca316 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-04 12:14:14 -07:00
Josh Stone
9e5bc44be4 ci: Upgrade android containers from ubuntu:16.04 to 22.04 2022-08-23 17:05:45 -07:00
Joshua Nelson
4151a5b96c Remove unsupported options in configure.py
I've seen people using `optimize = false` and `full-bootstrap = true` in the past, without knowing
that they're not recommended. Remove `optimize` and a few other options that are always a bad idea,
and document that full-bootstrap is only for testing reproducible builds.
2022-07-10 16:28:57 -05:00
Nikita Popov
13b4000fd3 Update FreeBSD toolchain to 12.3 2022-06-10 15:14:31 +02:00
Eric Huss
8322cdb1da Fix cmake build. 2022-03-17 11:43:38 -07:00
Wesley Wiser
55abf38bf2 Add note about upstream commit musl-patch-configure.diff is derived from 2022-01-10 10:41:31 -05:00
Laurențiu Nicola
0ec734af32 Pull in libdevstat on FreeBSD 2021-12-15 16:16:26 +02:00
Wesley Wiser
e97317c2d3 Build musl dist artifacts with debuginfo enabled
Since our musl targets link to a version of musl we build and bundle
with the targets, if users need to debug into musl or generate
backtraces which contain parts of the musl library, they will be unable
to do so unless we enable and ship the debug info.

This patch changes our dist builds so they enabled debug info when
building musl. This patch also includes a fix for CFI detection in
musl's `configure` script which has been posted upstream[1].

The net effect of this is that we now ship debug info for musl in those
targets. This adds ~90kb to those artifacts but running `strip` on
binaries produced removes all of that. For a "hello world" Rust binary
on x86_64, the numbers are:

|                        | debug | release | release + strip |
|           -            |   -   |    -    |        -        |
| without musl debuginfo | 507kb |  495kb  |      410kb      |
| with musl debuginfo    | 595kb |  584kb  |      410kb      |

Once stripped, the final binaries are the same size (down to the byte).

[1]: https://www.openwall.com/lists/musl/2021/10/21/2
2021-11-12 20:30:57 -05:00
Laurențiu Nicola
ee3b46689b Pull in libkvm on FreeBSD 2021-11-02 10:44:14 +02:00
David Carlier
ec4a9da868 update of the CI freebsd toolchain
adding libproctsta, for the upcoming libc update.
2021-09-08 08:41:22 +01:00
Mark Rousskov
21d8d5f881 Bump sccache used in CI to v0.2.15
This skips bumping Windows sccache because we run into compilation failures when
doing so (-m32 not supported by clang-cl?). Not clear on cause, but seems
easiest to just hold back.

This should avoid PGO-related failures encountered on Linux, and more broadly
seems like a good idea on other platforms as well (though it is likely not
necessary right this moment).
2021-08-25 16:26:45 -04:00
bors
409920873c Auto merge of #81451 - nikic:llvm-12, r=nagisa
Upgrade to LLVM 12

This implements the necessary adjustments to make rustc work with LLVM 12. I didn't encounter any major issues so far.

r? `@cuviper`
2021-03-04 15:16:44 +00:00
Nikita Popov
1e21b2cba8 Build newer version of cmake in Docker images
LLVM requires CMake 3.13.4, which is only available as of Ubuntu 20.04.
On images using an older version, build it manually.
2021-03-01 23:35:35 +01:00
Jakub Kulik
47f291ec2d Update Docker to use the correct target 2021-03-01 15:06:32 +01:00
Nikita Popov
b7c8bc7a75 Update dist-various to Ubuntu 20.04
This updates the dist-various-1 and dist-various-2 images to Ubuntu
20.04. This requires some adjustments:

 * `DEBIAN_FRONTEND=noninteractive` required for apt install.
 * `team-gcc-argm-embedded` PPA does not support focal. However,
   we can simply use the distro-provided `gcc-arm-none-eabi`. Per
   the comment, the PPA was only used to get a newer version.
 * rumprun has to be updated to avoid a linker error.
 * We need to build rumrun with `NOGCCERROR`, which disables use
   of `-Werror` and allows building with a newer compiler.
 * We need to install `libtinfo5`, which appears to be a dependency
   of the clang used during the fuchsia build.
 * We need to switch to `g++-8` rather than `g++-7`, as at least
   `g++-7-arm-linux-gnueabi` is not available on focal.
 * We need to upgrade to GCC 6.5 for the Solaris build, as GCC 6.4
   does not support the newer libisl version.
2021-01-29 18:38:04 +01:00
Daiki Ihara
a1af001a55 fix shellcheck error of SC2068 2020-11-06 20:33:12 +09:00
Daiki Ihara
f197da655f fix shellcheck error of SC2148 2020-11-06 20:33:12 +09:00
Mara Bos
21bd9eea74 Use own mirror for linux headers in musl-toolchain CI script. 2020-10-24 11:16:53 +02:00
Josh Triplett
6149dffff9 Install ninja on CI builders
Windows CI builds already install ninja. Install it in all the
Docker-based builds as well.
2020-08-26 14:57:07 -07:00
Thomas Lively
f3585a93fe Upgrade Emscripten on CI to 1.39.20
This Emscripten version was the first to be cut after the LLVM 11
release branch was created, so it should be the most compatible with
LLVM 11. The old version we were using was incompatible with LLVM 11
because its wasm-ld did not understand all the relocations that LLVM
11 emits.
2020-08-19 11:22:24 -07:00
Tomasz Miąsko
8de63eb964 Bump minor version of emsdk to 1.38.47
Release Notes:

```
v1.38.47: 10/02/2019
--------------------
 - Add support for FETCH API in WASM backend. This doesn't support FETCH in the
   main thread (`USE_FETCH_WORKER=0` is enforced). #9490
 - Redefine errno values to be consistent with wasi. This will let us avoid
   needing to convert the values back and forth as we use more wasi APIs.
   This is an ABI change, which should not be noticeable from user code
   unless you use errno defines (like EAGAIN) *and* keep around binaries
   compiled with an older version that you link against. In that case, you
   should rebuild them. See #9545.
 - Removed build option `-s ONLY_MY_CODE` as we now have much better solutions
   for that, like building to a wasm object file or using `STANDALONE_WASM`
   etc. (see
   https://github.com/emscripten-core/emscripten/wiki/WebAssembly-Standalone).
 - Emscripten now supports the config file (.emscripten) being placed in the
   emscripten directory rather that the current user's home directory.
   See #9543
```
2020-08-15 22:29:21 +02:00
Josh Stone
29f5e5c574 Upgrade the FreeBSD toolchain to version 11.4
FreeBSD 10 reached its end-of-life in October 2018, and that toolchain
caused issues in the LLVM 11 upgrade (#73526) that are resolved with the
toolchain from FreeBSD 11.
2020-08-09 10:38:52 -07:00
Joshua M. Clulow
8368a35f83 build dist for x86_64-unknown-illumos
This change creates a new Docker image, "dist-x86_64-illumos", and sets
things up to build the full set of "dist" packages for illumos hosts, so
that illumos users can use "rustup" to install packages.  It also
adjusts the manifest builder to expect complete toolchains for this
platform.
2020-07-08 23:39:09 +00:00
Pietro Albini
65f2dce042
ci: add native aarch64-gnu docker builder 2020-07-03 09:34:31 +02:00
Tomasz Miąsko
9d01cd1df6 Update musl to 1.1.24 2020-06-07 17:52:37 +02:00
Guillaume Gomez
38eb369fa4 Enforce Python 3 as much as possible 2020-04-10 09:09:58 -04:00