about summary refs log tree commit diff
path: root/src/ci/docker
AgeCommit message (Collapse)AuthorLines
2019-02-04Add embedded bookJames Munns-0/+1
2019-02-01Auto merge of #57937 - denzp:nvptx, r=nagisabors-5/+15
NVPTX target specification This change adds a built-in `nvptx64-nvidia-cuda` GPGPU no-std target specification and a basic PTX assembly smoke tests. The approach is taken here and the target spec is based on `ptx-linker`, a project started about 1.5 years ago. Key feature: bitcode object files being linked with LTO into the final module on the linker's side. Prior to this change, the linker used a `ld` linker-flavor, but I think, having the special CLI convention is a more reliable way. Questions about further progress on reliable CUDA workflow with Rust: 1. Is it possible to create a test suite `codegen-asm` to verify end-to-end integration with LLVM backend? 1. How would it be better to organise no-std `compile-fail` tests: add `#![no_std]` where possible and mark others as `ignore-nvptx` directive, or alternatively, introduce `compile-fail-no-std` test suite? 1. Can we have the `ptx-linker` eventually be integrated as `rls` or `clippy`? Hopefully, this should allow to statically link against LLVM used in Rust and get rid of the [current hacky solution](https://github.com/denzp/rustc-llvm-proxy). 1. Am I missing some methods from `rustc_codegen_ssa::back::linker::Linker` that can be useful for bitcode-only linking? Currently, there are no major public CUDA projects written in Rust I'm aware of, but I'm expecting to have a built-in target will create a solid foundation for further experiments and awesome crates. Related to #38789 Fixes #38787 Fixes #38786
2019-01-31Auto merge of #57914 - jethrogb:jb/sgx-unwind-version, r=alexcrichtonbors-22/+30
SGX target: clean up dist builder, update libunwind This incorporates https://github.com/fortanix/llvm-project/pull/4 Fixes https://github.com/fortanix/rust-sgx/issues/65 r? @alexcrichton
2019-01-31Updated commit id for building libunwind.Vardhan Thigle-2/+2
2019-01-31Auto merge of #57514 - michaelwoerister:xlto-tests, r=alexcrichtonbors-4/+23
compiletest: Support opt-in Clang-based run-make tests and use them for testing xLTO. Some cross-language run-make tests need a Clang compiler that matches the LLVM version of `rustc`. Since such a compiler usually isn't available these tests (marked with the `needs-matching-clang` directive) are ignored by default. For some CI jobs we do need these tests to run unconditionally though. In order to support this a `--force-clang-based-tests` flag is added to compiletest. If this flag is specified, `compiletest` will fail if it can't detect an appropriate version of Clang. @rust-lang/infra The PR doesn't yet enable the tests yet. Do you have any recommendation for which jobs to enable them? cc #57438 r? @alexcrichton
2019-01-30CI: Use lld for linking LLVM in the x86_64-gnu-debug image.Michael Woerister-0/+1
2019-01-30ci: Use clang as the C++ compiler for x86_64-gnu-debug.Michael Woerister-3/+9
2019-01-30Add missing packages.Michael Woerister-0/+5
2019-01-29Use correct CI test image for WASM and NVPTXDenys Zariaiev-18/+0
2019-01-29Provide PTXLinker with fallback to internal `target-cpu`Denys Zariaiev-1/+1
2019-01-29Merge NVPTX and WASM test images into `test-various`Denys Zariaiev-5/+14
2019-01-29Auto merge of #57862 - hsivonen:buildneon, r=alexcrichtonbors-2/+6
Build the standard library for thumbv7neon-unknown-linux-gnueabihf in CI Using the `dist-armv7-linux` image instead of `dist-various-1` in order to use the ARMv7 toolchain available in `dist-armv7-linux`. Closes #57030.
2019-01-28Adjust PTXLinker LTO logic and CLIDenys Zariaiev-1/+1
2019-01-28Build the standard library for thumbv7neon-unknown-linux-gnueabihf in CIHenri Sivonen-2/+6
Closes #57030.
2019-01-28NVPTX: by-default use target cpu "sm_30"Denys Zariaiev-1/+1
2019-01-27Enable CI for `nvptx64-nvidia-cuda`Denys Zariaiev-0/+19
2019-01-26Update SGX libunwindJethro Beekman-1/+1
2019-01-26Clean up build-x86_64-fortanix-unknown-sgx-toolchain.shJethro Beekman-20/+28
2019-01-24Rollup merge of #57803 - jethrogb:jb/sgx-unwind-version, r=alexcrichtonMazdak Farrokhzad-1/+1
Several changes to libunwind for SGX target Two fixes: * #34978 bites again! * __rust_alloc are actually private symbols. Add new public versions. Also, these ones are `extern "C"`. Upstream changes (https://github.com/fortanix/llvm-project/pull/2, https://github.com/fortanix/llvm-project/pull/3): * b7357de Avoid too new relocation types being emitted * 0feefe5 Use new symbol names to call Rust allocator Fixes https://github.com/fortanix/rust-sgx/issues/65
2019-01-24Enable Clang-based tests on x86_64-gnu-debug builder.Michael Woerister-1/+8
2019-01-24Rollup merge of #57844 - euclio:keyserver-port, r=alexcrichtonMazdak Farrokhzad-1/+1
use port 80 for retrieving GPG key This works around firewalls blocking port 11371. See https://unix.stackexchange.com/questions/75892/keyserver-timed-out-when-trying-to-add-a-gpg-public-key.
2019-01-23make sure to accept all android licensesPietro Albini-1/+1
2019-01-22use port 80 for retrieving GPG keyAndy Russell-1/+1
This works around firewalls blocking port 11371. See https://unix.stackexchange.com/questions/75892/keyserver-timed-out-when-trying-to-add-a-gpg-public-key.
2019-01-21Update libunwind for SGX targetJethro Beekman-1/+1
2019-01-15Auto merge of #57130 - ↵bors-0/+82
VardhanThigle:Vardhan/x86_64-fortanix-unknown-sgx-tier2_support, r=alexcrichton Upgrade x86_64-fortanix-unknown-sgx platform support to tier 2 ## Overview 1. This PR upgrades x86_64-fortanix-unknown-sgx platform support to tier 2 (std only) by setting up build automation for this target. 1. For supporting unwinding, this target needs to link to a port of LLVM's libunwind (more details could be found in #56979), which will be distributed along with the Rust binaries (similar to the extra musl objects) ### Building and copying libunwind: We have added a new build script (`build-x86_64-fortanix-unknown-sgx-toolchain.sh`) that will run while the container is built. This will build `libunwind.a` from git source. While the container is built, the persistent volumes where obj/ gets created aren't yet mapped. As a workaround, we copy the built `libunwind.a` to `obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-fortanix-unknown-sgx/lib/` after x.py runs. If any reviewer knows of a better solution, please do tell. r? @Mark-Simulacrum
2019-01-13Adding Build automation for x86_64-fortanix-unknown-sgxVardhan Thigle-0/+82
2019-01-09Replace Arm GCC to a more recent versionHugues de Valon-2/+8
The version included in Ubuntu 16.04 repositories in the dist-various-1 docker, Arm GCC version 4.9, does not support the new Armv8-M architecture. This commit adds the team-gcc-arm-embedded PPA to get through APT a newer version of Arm GCC.
2019-01-09Add dist builder for Armv8-M MainlineHugues de Valon-0/+1
This commit adds the Armv8-M Mainline target in the list of targets that get their dist components built. It also update the build-manifest so that this target gets also its dist components uploaded.
2019-01-03ci: Upgrade Travis to XenialAlex Crichton-3/+5
In theory we shouldn't require trusty so long as docker continues to work!
2018-12-25Remove licensesMark Rousskov-507/+0
2018-12-24Rollup merge of #57010 - phansch:run_compiletest_tests_on_ci, r=kennytmMazdak Farrokhzad-1/+2
Actually run compiletest tests on CI I was assuming that https://github.com/rust-lang/rust/pull/56792 would have resulted in compiletest tests being executed on CI. However, I couldn't find any mentions of the unit test names in any CI logs. This adds the compiletest test execution to the checktools.sh script.
2018-12-23Auto merge of #56892 - alexcrichton:new-llvm, r=michaelwoeristerbors-17/+14
rustc: Update Clang used to build LLVM on Linux This commit updates from LLVM 7.0.0 to git revisions of clang/llvm/lld to build LLVM on our dist builders for Linux. The goal of this is to fix #56849 by picking up a fix [1] in LLD. Closes #56849 [1]: https://github.com/llvm-mirror/lld/commit/3be4e82db78b46a8ca349b2b799dec620a6f159f
2018-12-20Move compiletest test run to mingw-check builderPhilipp Hansch-6/+2
This way, checktools.sh continues to be used only for tools that are published later on.
2018-12-20Run compiletest tests on CIPhilipp Hansch-0/+5
I was assuming that https://github.com/rust-lang/rust/pull/56792 would have resulted in compiletest tests being executed in CI. However, I couldn't find any mentions of the unit test names in any CI logs. This adds the compiletest test execution to the checktools.sh script.
2018-12-19Rollup merge of #56947 - hsivonen:neon, r=alexcrichtonPietro Albini-0/+2
Add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf These two targets enable both thumb-mode and NEON for ARMv7 CPUs. This another attempt at #49902, which cannot be reopened. Between that PR and this one, some subrepos with C code whose build systems were failing went away.
2018-12-17Auto merge of #56642 - nikic:llvm-6, r=alexcrichtonbors-2/+2
Bump minimum required LLVM version to 6.0 Based on the discussion in #55842, while the overall position of Rust wrt LLVM continues to be contentious, there does seem to be a consensus that there is no need for continued support of LLVM 5. This PR bumps our version requirement to LLVM 6.0 and makes Travis run against that. I hope that this is going to unblock #52694. If I understand correctly, while this issue still exists in LLVM 6, Ubuntu has backported the relevant patch. r? @alexcrichton
2018-12-16rustc: Update Clang used to build LLVM on LInuxAlex Crichton-17/+14
This commit updates from LLVM 7.0.0 to git revisions of clang/llvm/lld to build LLVM on our dist builders for Linux. The goal of this is to fix #56849 by picking up a fix [1] in LLD. Closes #56849 [1]: https://github.com/llvm-mirror/lld/commit/3be4e82db78b46a8ca349b2b799dec620a6f159f
2018-12-13Add targets thumbv7neon-linux-androideabi and ↵Henri Sivonen-0/+2
thumbv7neon-unknown-linux-gnueabihf These two targets enable both thumb-mode and NEON for ARMv7 CPUs.
2018-12-11fix rust-lang/rust issue #50583Piers Finlayson-2/+2
2018-12-10Build manifest tool on mingw-check builderMark Rousskov-1/+2
This builder is not really the correct place to put this, but it definitely has the time budget and checking this tool builds on just one platform is more than sufficient.
2018-12-09Bump minimum required LLVM version to 6.0Nikita Popov-2/+2
2018-11-30ci: Only run compare-mode tests on one builderAlex Crichton-1/+3
The run-pass test suite currently takes 30 minutes on Windows, and that appears to be roughly split between two 15 minute runs of the test suite: one without NLL and one with NLL. In discussion on Discord the platform coverage of the NLL compare mode may not necessarily be worth it, so this commit removes the NLL compare mode from tests by default, and then reenables it on only one builder.
2018-11-14Update CI-clang to 7.0.0 for Linux dists.Michael Woerister-4/+4
2018-11-11std: Delete the `alloc_system` crateAlex Crichton-1/+1
This commit deletes the `alloc_system` crate from the standard distribution. This unstable crate is no longer needed in the modern stable global allocator world, but rather its functionality is folded directly into the standard library. The standard library was already the only stable location to access this crate, and as a result this should not affect any stable code.
2018-11-10Auto merge of #55626 - nikic:update-emscripten, r=alexcrichtonbors-17/+12
Update emscripten This updates emscripten to 1.38.15, which is based on LLVM 6.0.1 and would allow us to drop code for handling LLVM 4. The main issue I ran into is that exporting statics through `EXPORTED_FUNCTIONS` no longer works. As far as I understand exporting non-functions doesn't really make sense under emscripten anyway, so I've modified the symbol export code to not even try. Closes #52323.
2018-11-08Update the disabled wasm32 DockerfileNikita Popov-10/+5
2018-11-06Auto merge of #53996 - sekineh:thumb-run, r=japaricbors-1/+2
[CI] Run a `thumbv7m-none-eabi` binary using `qemu-system-arm` [IRR-2018-embedded] ## What's included? - Run a `thumbv7m-none-eabi` binary using `qemu-system-arm` - We are using `cortex-m-rt = "=0.5.4"` which does not use `proc_macro`. (reason: stage2 build of rustc does not work well with `proc_macro` in `run-make` phase.) - We are using GNU LD for now. ## Blocker All resolved. - ~[Waiting] `#[panic_handler]` is not available in stable.~ - [Merged] https://github.com/rust-lang/rust/pull/53619 - ~[Waiting] https://github.com/japaric/lm3s6965evb: does not compile on stable.~ - [OK] dependent crate ~`panic-abort`~ `panic-halt`: already moved to use `#[panic_handler]`. ## Update `#[panic_handler]` will be stabilized in Rust 1.30. CC @kennytm @jamesmunns @nerdyvaishali
2018-11-06Rollup merge of #55644 - glaubitz:powerpcspe-linux, r=alexcrichtonkennytm-0/+26
ci: Add Dockerfile for dist-powerpcspe-linux This adds the Dockerfile for cross-building Rust for the powerpcspe target. It's currently disabled.
2018-11-06Auto merge of #55106 - petrhosek:fuchsia-lld, r=alexcrichtonbors-1/+12
Use lld directly for Fuchsia target Fuchsia already uses lld as the default linker, so there's no reason to always invoke it through Clang, instead we can simply invoke lld directly and pass the set of flags that matches Clang.
2018-11-05Use lld directly for Fuchsia targetPetr Hosek-1/+12
Fuchsia already uses lld as the default linker, so there's no reason to always invoke it through Clang, instead we can simply invoke lld directly and pass the set of flags that matches Clang.