Commit Graph

418 Commits

Author SHA1 Message Date
Alex Crichton 25d0418bd7 ci: Download clang/lldb from tarballs
Hopefully will speed up CI slightly!
2018-11-20 15:56:58 -08:00
Michael Woerister 2ec6f340cd Update CI-clang to 7.0.0 for Linux dists. 2018-11-14 17:42:06 +01:00
Alex Crichton cc7590341a std: Delete the `alloc_system` crate
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-11 09:22:28 -08:00
bors 06118eac4c Auto merge of #55626 - nikic:update-emscripten, r=alexcrichton
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-10 01:16:02 +00:00
Nikita Popov ffdb2bc1c5 Update the disabled wasm32 Dockerfile 2018-11-08 16:32:42 +01:00
bors 15d770400e Auto merge of #53996 - sekineh:thumb-run, r=japaric
[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-06 18:58:31 +00:00
kennytm 225df14095
Rollup merge of #55644 - glaubitz:powerpcspe-linux, r=alexcrichton
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-06 17:08:14 +08:00
bors 8aa926729e Auto merge of #55106 - petrhosek:fuchsia-lld, r=alexcrichton
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-06 01:20:58 +00:00
Petr Hosek 3d27aca841 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-05 15:46:00 -08:00
Nikita Popov 9eb19273a3 Update llvm-emscripten
This updates emscripten to version 1.38.15, which is based on
LLVM 6.0.1.
2018-11-04 18:50:57 +01:00
John Paul Adrian Glaubitz e04e5faa3f ci: Add Dockerfile for dist-powerpcspe-linux 2018-11-03 11:41:35 +01:00
Alex Crichton 016eaf88f5 Use `jemalloc-sys` on Linux and OSX compilers
This commit adds opt-in support to the compiler to link to `jemalloc` in
the compiler. When activated the compiler will depend on `jemalloc-sys`,
instruct jemalloc to unprefix its symbols, and then link to it. The
feature is activated by default on Linux/OSX compilers for x86_64/i686
platforms, and it's not enabled anywhere else for now. We may be able to
opt-in other platforms in the future! Also note that the opt-in only
happens on CI, it's otherwise unconditionally turned off by default.

Closes #36963
2018-11-02 06:52:56 -07:00
Tom Tromey 8bbb62f849 Update enum debuginfo tests
Bug #52452 notes some debuginfo test regressions when moving to gdb
8.1.  This series will also cause versions of gdb before 8.2 to fail
when a recent LLVM is used -- DW_TAG_variant_part support was not
added until 8.2.

This patch updates one of the builders to a later version of Ubuntu,
which comes with gdb 8.2.  It updates the relevant tests to require
both a new-enough LLVM and a new-enough gdb; the subsequent patch
arranges to continue testing the fallback mode.

The "gdbg" results are removed from these tests because the tests now
require a rust-enabled gdb.

If you read closely, you'll see that some of the lldb results in this
patch still look a bit strange.  This will be addressed in a
subsequent patch; I believe the fix is to disable the Python
pretty-printers when lldb is rust-enabled.
2018-10-30 12:09:04 -06:00
Michael Woerister 5dedf0cead CI: Set codegen-units-std=1 for dist builds. 2018-10-26 15:07:03 +02:00
Vadim Petrochenkov 52ede63263 Remove the parse-fail test suite 2018-10-21 14:06:28 +03:00
Alex Crichton 4f661c016f Update Cargo, build curl/OpenSSL statically via features
In addition to to updating Cargo's submodule and Cargo's dependencies,
this also updates Cargo's build to build OpenSSL statically into Cargo
as well as libcurl unconditionally. This removes OpenSSL build logic
from the bootstrap code, and otherwise requests that even on OSX we
build curl statically.
2018-10-20 18:47:01 -07:00
Nikita Popov b57366a854 Improve verify_llvm_ir config option
* Make it influence the behavior of the compiled rustc, rather than
  just the rustc build system. That is, if verify_llvm_ir=true,
  even manual invocations of the built rustc will verify LLVM IR.
* Enable verification of LLVM IR in CI, for non-deploy and
  deploy-alt builds. This is similar to how LLVM assertions are
  handled.
2018-10-13 20:06:25 +02:00
Christian Poveda 276557504d Fix conditions to allow missing tools in CI 2018-10-01 12:42:20 -05:00
Hideki Sekine 27477755ed [ci] add qemu-system-arm in docker image 2018-09-30 09:43:13 +09:00
Christian Poveda 0724ed68bb Add DIST_REQUIRE_ALL_TOOLS to CI scripts 2018-09-28 08:55:18 -05:00
Christian Poveda 53254a888b Add enable-missing-tools option 2018-09-28 01:53:38 -05:00
Adrian Budau 97723db7cf Update musl to 1.1.20. 2018-09-21 17:03:13 +03:00
Alex Crichton 5595aeb6b7 Add rustc SHA to released DWARF debuginfo
This commit updates the debuginfo that is encoded in all of our released
artifacts by default. Currently it has paths like `/checkout/src/...` but these
are a little inconsistent and have changed over time. This commit instead
attempts to actually define the file paths in our debuginfo to be consistent
between releases.

All debuginfo paths are now intended to be `/rustc/$sha` where `$sha` is the git
sha of the released compiler. Sub-paths are all paths into the git repo at that
`$sha`.
2018-09-10 10:10:38 -07:00
David Craven 8dfd5c39a1
[RISCV] Add riscv32imc-unknown-none-elf target. 2018-08-30 16:03:37 +02:00
bors ba48850409 Auto merge of #53245 - michaelwoerister:thinlto-rust-llvm, r=alexcrichton
[experimental]: Build LLVM with ThinLTO enabled (2nd attempt)

This is https://github.com/rust-lang/rust/pull/51207 revived. This time, I'd like to run actual performance tests to see if it improves compile times.
2018-08-29 10:55:27 +00:00
Jorge Aparicio 264c47a2aa remove no longer needed Docker images 2018-08-26 11:27:05 +02:00
Jorge Aparicio e2e72cc3ef fix docker build for the armebv7r-none-eabi target 2018-08-26 11:27:05 +02:00
Jorge Aparicio c9d8e28b8c add armebv7r-none-eabi target 2018-08-26 11:27:05 +02:00
Jorge Aparicio 84fa5d8037 build rust-std components for the Cortex-R targets 2018-08-26 11:27:05 +02:00
Paolo Teti 7c1723c012 Add target for Little-endian ARM Cortex-R4F/R5F MCUs
Similar to `armebv7r-none-eabihf`, but for Little-endian MCUs.

As example TI RM4x/RM5x are Little-endian Cortex-R4F/R5F MCUs.

CI/Dockerfile is intentionally in the disabled folder.
2018-08-26 11:27:05 +02:00
Michael Woerister 73364c8bef Compile LLVM with ThinLTO for x86_64 Linux dist builds. 2018-08-20 11:37:32 +02:00
Michael Woerister 9574bf5a3e Build LLD in addition to Clang in Linux CI 2018-08-20 11:37:32 +02:00
Matthias Krüger 71120ef1e5 Fix typos found by codespell. 2018-08-19 17:41:28 +02:00
kennytm b75f1bade0
Revert "Use public DNS server instead of 169.254.169.254 on CI."
This reverts commit 32e8bda4e3.
2018-08-16 20:06:55 +08:00
kennytm 96179cd8fe
Rollup merge of #52940 - kennytm:move-checktool-protection-week, r=alexcrichton
Align 6-week cycle check with beta promotion instead of stable release.

The regression check is to make beta promotion easier, so it makes more
sense to use the Tuesday of the release week (T-2) as the end point of the
regression prevention, instead of Thursday (T-0). But since the beta
promotion PR is sent at Tuesday evening at UTC, the protection should
include the whole Tuesday as well, meaning the 6-week cycle will start from
Wednesdays.

This will also move the start of the regression protection week one day
earlier.
2018-08-04 14:35:49 +08:00
David Craven 7a5e8bdc02
[RISCV] Enable CI. 2018-08-01 15:34:57 +02:00
kennytm 0da7da8391
Align 6-week cycle check with beta promotion instead of stable release.
The regression check is to make beta promotion easier, so it makes more
sense to use the Tuesday of the release week (T-2) as the end point of the
regression prevention, instead of Thursday (T-0). But since the beta
promotion PR is sent at Tuesday evening at UTC, the protection should
include the whole Tuesday as well, meaning the 6-week cycle will start from
Wednesdays.

This will also move the start of the regression protection week one day
earlier.
2018-08-01 18:03:19 +08:00
kennytm 9c5c8d6491
Test clippy first to workaround the derive-new conflict. 2018-07-29 19:05:41 +08:00
Petr Hosek e950d22fbf Omit the vendor component in Fuchsia triple
Previously, using unknown as the vendor value would lead to the same
result, but with the multiarch runtimes support in Clang, the target is
now used to locate the runtime libraries and so the format is important.
The denormalized format with omitted vendor component is the format we
use with Clang and should be using for Rust as well.
2018-07-26 23:52:00 -07:00
bors fefe81605d Auto merge of #52561 - ljedrz:fixme_cc_271, r=alexcrichton
Remove obsolete armv5te vars from the dist-various-1 Dockerfile

The [related cc issue](https://github.com/alexcrichton/cc-rs/issues/271) is closed and its changes are in force.
2018-07-25 09:45:06 +00:00
kennytm cf995d654e
Rollup merge of #52538 - ljedrz:old_musl_i586_flags, r=kennytm
Remove obsolete flags in the i586_musl Dockerfile

Resolves an [outdated FIXME](ab8b961677/src/ci/docker/dist-i586-gnu-i586-i686-musl/Dockerfile (L45)) in the Dockerfile for dist-i586-gnu-i586-i686-musl.
2018-07-24 09:49:49 +08:00
kennytm 180ad53576
Rollup merge of #52465 - sekineh:add-ci-thumb, r=alexcrichton
Add CI test harness for `thumb*` targets. [IRR-2018-embedded]

This pull request will do the following (rather trivial) changes:
- Fix #52163. In other words, we enabled `./x.py test src/test/run-make` for `no_std` targets.
- Modify `dist-various-1` Dockerfile.
  - CI now performs `run-make` test run on the targets below:
    - `thumbv6m-none-eabi`
    - `thumbv7m-none-eabi`
    - `thumbv7em-none-eabi`
    - `thumbv7em-none-eabihf`.
- ~~Add `thumb-none` Dockerfile.~~
  - ~~Initially, `thumbv7m-none-eabi`, `thumbv7em-none-eabi` and `thumbv7em-none-eabihf` are included as the tested target. `thumbv6m-none-eabi` is disabled for now because LLVM support is not certain.~~
- ~~Add `thumb-none` to .travis.yml~~

Note:
- `run-make` tests are not implemented yet. This PR is test harness only.

The amount of change is very small, but I'd like to open the pull request while the change is trivial.
Because I'm not very used to pull request process, I want to make a small progress first.  This PR will be a foundation for later additions.

CC @kennytm @jamesmunns @nerdyvaishali
2018-07-22 22:10:10 +08:00
ljedrz 35a3d6f76b Remove obsolete armv5te vars from the dist-various-1 Dockerfile 2018-07-20 08:34:34 +02:00
Alex Crichton f775c6d7ce Fix docker/run.sh script when run locally
Switch a `mkdir $foo` to `mkdir -p $foo` to handle the case that this script is
being run locally and has previously executed.
2018-07-19 07:48:17 -07:00
ljedrz 53ae366873 Remove obsolete flags in the i586_musl Dockerfile 2018-07-19 16:36:45 +02:00
Hideki Sekine 76300903bc Re-include `thumbv6m-none-eabi` to `run-make` target 2018-07-18 18:17:37 +09:00
Hideki Sekine 0b3b8bf15c Use `dist-various-1` Dockerfile. 2018-07-18 18:14:47 +09:00
Hideki Sekine 355b99f954 Cleanup Dockerfile. 2018-07-18 01:42:53 +09:00
Hideki Sekine d8e64e1540 Adjust TARGETS. 2018-07-18 01:15:04 +09:00
kennytm a9bcbb27b8
Block beta if clippy breaks.
Don't fail master pull request when an unrelated tool is not test-pass.
2018-07-17 05:35:19 +08:00