about summary refs log tree commit diff
path: root/src/ci/docker/scripts
AgeCommit message (Collapse)AuthorLines
2022-01-10Add note about upstream commit musl-patch-configure.diff is derived fromWesley Wiser-1/+3
2021-12-15Pull in libdevstat on FreeBSDLaurențiu Nicola-1/+1
2021-11-12Build musl dist artifacts with debuginfo enabledWesley Wiser-1/+21
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-02Pull in libkvm on FreeBSDLaurențiu Nicola-1/+1
2021-09-08update of the CI freebsd toolchainDavid Carlier-1/+1
adding libproctsta, for the upcoming libc update.
2021-08-25Bump sccache used in CI to v0.2.15Mark Rousskov-2/+5
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-03-04Auto merge of #81451 - nikic:llvm-12, r=nagisabors-0/+34
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-01Build newer version of cmake in Docker imagesNikita Popov-0/+34
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-01Update Docker to use the correct targetJakub Kulik-1/+1
2021-01-29Update dist-various to Ubuntu 20.04Nikita Popov-1/+1
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.
2020-11-06fix shellcheck error of SC2068Daiki Ihara-5/+5
2020-11-06fix shellcheck error of SC2148Daiki Ihara-0/+12
2020-10-24Use own mirror for linux headers in musl-toolchain CI script.Mara Bos-2/+8
2020-08-26Install ninja on CI buildersJosh Triplett-0/+2
Windows CI builds already install ninja. Install it in all the Docker-based builds as well.
2020-08-19Upgrade Emscripten on CI to 1.39.20Thomas Lively-2/+2
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-15Bump minor version of emsdk to 1.38.47Tomasz Miąsko-2/+2
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-09Upgrade the FreeBSD toolchain to version 11.4Josh Stone-19/+5
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-07-08build dist for x86_64-unknown-illumosJoshua M. Clulow-0/+177
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-03ci: add native aarch64-gnu docker builderPietro Albini-2/+12
2020-06-07Update musl to 1.1.24Tomasz Miąsko-5/+7
2020-04-10Enforce Python 3 as much as possibleGuillaume Gomez-3/+3
2020-03-30Deduplicate crosstool-ng.shBen Wolsieffer-0/+12
2019-11-12ci: move mirrors to https://ci-mirrors.rust-lang.orgPietro Albini-2/+2
2019-10-20Auto merge of #65302 - msizanoen1:fix-armv7-segfault, r=alexcrichtonbors-0/+1
Upgrade GCC to 8.3.0, glibc to 1.17.0 and crosstool-ng to 1.24.0 for dist-armv7-linux #62896 was caused by the usage of the GCC 5.2.0 toolchain, which was released back in 2015 and may have bugs affecting LLVM 9. This PR upgrade GCC to 8.3.0 from 5.2.0, glibc from 1.16.0 to 1.17.0 and crosstool-ng to 1.24.0 only for dist-armv7-linux. Fixes #62896 r? @alexcrichton
2019-10-16User should not change between emcc install and useThomas Lively-10/+0
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-45/+3
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-12Add crosstool-ng 1.24.0 unzip dependencyqtmlabs-0/+1
2019-10-05Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, ↵Tyler Mandry-3/+45
r=alexcrichton" This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
2019-10-04Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-45/+3
- Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the incorrect wasm32 C call ABI with the old asmjs version, which is correct for both wasm32 and JS. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Temporarily makes Emscripten targets use panic=abort by default because supporting unwinding will require an LLVM patch.
2019-08-15Use libunwind from llvm-project submodule for musl targetsMarco A L Barbosa-50/+2
2019-08-12ci: move mirrors to their standalone bucketPietro Albini-5/+7
Currently mirrors are stored in the rust-lang-ci2 S3 bucket along with CI toolchains. This is problematic for multiple reasons: - CI IAM credentials are allowed to both edit and delete those files. A malicious user gaining access to those credentials would be able to change our mirrored dependencies, possibly backdooring the compiler. - Contents of the rust-lang-ci2 bucket are disposable except for the mirrors' content. When we implement backups for S3 buckets we'd have to replicate just that part of the bucket, complicating the backup logic and increasing the chance of mistakes. A standalone bucket will be way easier to backup. This commit switches our CI to use the new rust-lang-ci-mirrors bucket.
2019-06-30Auto merge of #61252 - indygreg:upgrade-musl, r=alexcrichtonbors-1/+1
Update musl to 1.1.22 This is the latest available version. I noticed Rust wasn't using the latest version when I attempted to have Cargo link object files produced outside of Cargo / Rust's toolchain and was getting missing symbol errors. Those missing symbols were added in 1.1.21 and 1.1.22. I'm not fully sure of the implications of this change or how comprehensive the test coverage is. Upstream changes in 1.1.21 and 1.1.22 can be found at https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.1.22&id=e97681d6f2c44bf5fa9ecdd30607cb63c780062e#n1989.
2019-05-31Auto merge of #61300 - indygreg:upgrade-cross-make, r=sanxiynbors-2/+2
Update musl-cross-make to 0.9.8 This version uses musl 1.1.22 and GCC 6.4.0 by default. It also contains support for newer binutils and GCC versions, should we want to bump those as well. But I'm purposefully limiting this patch in order to reduce the surface area for controversy.
2019-05-29Update all s3 URLs used on CI with subdomainsAlex Crichton-3/+3
Ensure that they're all forwards-compatible with AWS updates happening next year by ensuring the bucket name shows up in the domain name. Closes #61168
2019-05-28Update musl-cross-make to 0.9.8Gregory Szorc-2/+2
This version uses musl 1.1.22 and GCC 6.4.0 by default. It also contains support for newer binutils and GCC versions, should we want to bump those as well. But I'm purposefully limiting this patch in order to reduce the surface area for controversy.
2019-05-28Update musl to 1.1.22.Gregory Szorc-1/+1
This is the latest available version. I noticed Rust wasn't using the latest version when I attempted to have Cargo link object files produced outside of Cargo / Rust's toolchain and was getting missing symbol errors. Those missing symbols were added in 1.1.21 and 1.1.22. I'm not fully sure of the implications of this change or how comprehensive the test coverage is. Upstream changes in 1.1.21 and 1.1.22 can be found at https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.1.22&id=e97681d6f2c44bf5fa9ecdd30607cb63c780062e#n1989.
2019-05-10Conditionally provide cc in musl-toolchain.shMateusz Mikuła-6/+8
2019-05-10Make tests compatible with musl hostMateusz Mikuła-0/+7
2019-04-27tidy: Fix false positives from long URLsVadim Petrochenkov-2/+0
2019-04-22Remove double trailing newlinesvarkor-2/+0
2019-04-12ci: use a custom android sdk manager with pinning and mirroringPietro Albini-59/+211
2019-04-07ci: pin android emulator to 28.0.23Pietro Albini-2/+14
2019-04-04ci: Update FreeBSD tarball downloadsAlex Crichton-1/+5
These appear to have disappeared from the original server, so I acquired the contents from a different mirror and uploaded them to our S3 bucket
2019-03-27musl: build toolchain libs with -fPICMateusz Mikuła-0/+4
2019-03-15Fix TARGET variable in musl-toolchain.shMateusz Mikuła-1/+1
2019-03-14Address final reviewMateusz Mikuła-0/+6
2019-03-13Final cleanupsMateusz Mikuła-6/+4
2019-03-13Drop copyright notice from musl-toolchainMateusz Mikuła-10/+0
2019-03-13musl: update LLVM to 7Mateusz Mikuła-1/+1
2019-03-13Address review commentsMartell Malone-2/+2