1. 17 12月, 2016 1 次提交
  2. 16 12月, 2016 6 次提交
    • B
      Auto merge of #38359 - alexcrichton:sccache, r=brson · d250169c
      bors 提交于
      rustbuild: Add sccache support
      
      This commit adds support for sccache, a ccache-like compiler which works on MSVC
      and stores results into an S3 bucket. This also switches over all Travis and
      AppVeyor automation to using sccache to ensure a shared and unified cache over
      time which can be shared across builders.
      
      The support for sccache manifests as a new `--enable-sccache` option which
      instructs us to configure LLVM differently to use a 'sccache' binary instead of
      a 'ccache' binary. All docker images for Travis builds are updated to download
      Mozilla's tooltool builds of sccache onto various containers and systems.
      Additionally a new `rust-lang-ci-sccache` bucket is configured to hold all of
      our ccache goodies.
      
      ---
      
      Note that this does not currently change Windows [due to previously written up issues](https://github.com/rust-lang/rust/issues/38119#issuecomment-266631585). Despite that, however, I was curious to get timings for the builds on Travis to see what ranges we're working with. As a result, this is a WIP PR I'm using to gauge build times and such.
      d250169c
    • B
      Auto merge of #38357 - arielb1:deterministic-hash, r=michaelwoerister · c6d8ab09
      bors 提交于
      make deterministic_hash host-architecture-independent
      
      `DefPath::deterministic_hash` used to call `std::hash::Hash`, which depends on the current architecture in several ways, which would prevent metadata written on one host architecture from being successfully read on another one.
      
      Use a hasher we control instead.
      
      Fixes #38177.
      
      r? @michaelwoerister
      c6d8ab09
    • B
      Auto merge of #38352 - bluss:unaligned-metadata, r=eddyb · 8ae90406
      bors 提交于
      Fix unaligned loads in librustc_metadata
      
      Creating a `&[u32]` from an `&[u8]` is not necessarily valid, and crashes
      on certain platforms if the data is not well aligned.
      8ae90406
    • B
      Auto merge of #38394 - alexcrichton:fix-nightlies, r=brson · 8f02c429
      bors 提交于
      rustbuild: Package rust-mingw by default
      
      This fixes the `make dist` step on MinGW to package the `rust-mingw` component
      by default. This should hopefully be the last step in fixing nightlies.
      8f02c429
    • A
      Use StableHasher everywhere · e1d4b8fc
      Ariel Ben-Yehuda 提交于
      The standard implementations of Hasher have architecture-dependent
      results when hashing integers. This causes problems when the hashes are
      stored within metadata - metadata written by one host architecture can't
      be read by another.
      
      To fix that, implement an architecture-independent StableHasher and use
      it in all places an architecture-independent hasher is needed.
      
      Fixes #38177.
      e1d4b8fc
    • A
      rustbuild: Package rust-mingw by default · 67ae4ab5
      Alex Crichton 提交于
      This fixes the `make dist` step on MinGW to package the `rust-mingw` component
      by default. This should hopefully be the last step in fixing nightlies.
      67ae4ab5
  3. 15 12月, 2016 14 次提交
  4. 14 12月, 2016 12 次提交
    • B
      Auto merge of #38351 - sanxiyn:doc-test-args, r=alexcrichton · 4cda3b6a
      bors 提交于
      Document --test-args for rustbuild
      
      There are three changes:
      
      * Replace --filter with --test-args
      * Delete `./x.py test src/test/run-pass/assert-*` example, which doesn't work
      * As driveby, update Buildbot URLs to https
      
      Fix #38275.
      
      r? @alexcrichton
      4cda3b6a
    • B
      Auto merge of #38340 - alexcrichton:fix-travis, r=alexcrichton · 01d53df8
      bors 提交于
      Fix travis builds
      
      After reading some articles [1] [2] yesterday about Docker and the "init"
      process I got to thinking about the problems that we've been seeing on Travis.
      The basic problem is that a Linux system may need an "init" process to work
      properly when processes become zombies. Docker by default doesn't handle this
      and the root process typically isn't an init process, so this can occasionally
      cause quite a few problems.
      
      We've been seeing spurious errors on Travis inside containers which look like
      OOM and such, but my guess is that zombie processes were being reparented to the
      top-level shell. The shell didn't expect the zombies and then behaved very
      strangely.
      
      This commit fixes these problems by using Yelp's "dumb-init" program [2] as the
      init process in all of our containers. This ensures that there's a valid init
      ready to reap children when they're reparented, which our test suite apparently
      generates a bunch of throughout the tests and such.
      
      [1]: https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
      [2]: https://engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html
      01d53df8
    • D
      Update LLVM global variable debug info API for 4.0 · e080804f
      Dylan McKay 提交于
      This teaches Rust about an LLVM 4.0 API change for creating debug info
      for global variables.
      
      This change was made in upstream LLVM patch https://reviews.llvm.org/D20147
      
      This is almost 1:1 copy of how clang did it in http://reviews.llvm.org/D20415
      e080804f
    • B
      Auto merge of #38332 - bluss:copy-prop-arguments, r=eddyb · 5d3ec6b0
      bors 提交于
      Allow copy-propagation of function arguments
      
      Allow propagating function argument locals in copy propagation.
      5d3ec6b0
    • B
      Auto merge of #38181 - jsgf:test-filter-exact, r=alexcrichton · aa7a2e9e
      bors 提交于
      libtest: add --exact to make filter matching exact
      
      Filter matching is by substring by default. This makes it impossible
      to run a single test if its name is a substring of some other test.
      For example, its not possible to run just `mymod::test` with these
      tests:
      
      ```
        mymod::test
        mymod::test1
        mymod::test_module::moretests
      ```
      
      You could declare by convention that no test has a name that's a
      substring of another test, but that's not really practical.
      
      This PR adds the `--exact` flag, to make filter matching exactly
      match the complete name.
      aa7a2e9e
    • U
      rustc_metadata: Fix unaligned loads · 7bc10545
      Ulrik Sverdrup 提交于
      Creating a `&[u32]` from a `&[u8]` was not valid; the data is not
      necessarily well aligned.
      7bc10545
    • B
      Auto merge of #38278 - jseyfried:improve_proc_macro_def_ids, r=michaelwoerister · a2746170
      bors 提交于
      Improve proc-macro def ids
      
      Support `cstore.relative_def_path(id)` and `cstore.def_key(id)` with proc-macro def ids.
      Fixes #38207.
      r? @nikomatsakis
      a2746170
    • B
      Auto merge of #38353 - alexcrichton:fix-nightiles, r=alexcrichton · 2ac71216
      bors 提交于
      Another round of nightly fixes
      
      Another three separate errors happened last night:
      
      * Race condition in save analysis failed the OX build
      * Packaging docs that don't exist failed the Android build
      * Packaging save-analysis that doesn't exist failed the cross host builds
      
      It just never ends...
      2ac71216
    • A
      rustbuild: Don't dist docs if disabled · 194c3fb1
      Alex Crichton 提交于
      This commit skips the `docs` dist step if the `--disable-docs` flag is passed,
      fixing a compile error seen on nightly.
      194c3fb1
    • A
      rustbuild: Skip some more non-relevant dist steps · bbf2b708
      Alex Crichton 提交于
      This commit skips a few more dist tragets during compilation which shouldn't be
      necessary.
      
      * First, when packaging std we only take action when the host target is the
        build target. Otherwise we package the same artifacts a number of times, which
        shouldn't be necessary.
      * Next, we apply the same logic to the save-analysis build. This is actually
        required for correctness as the build compiler is the only one which actually
        has save analysis information. This should fix an error seen on nightlies.
      bbf2b708
    • A
      rustc: Use `create_dir_racy` in save analysis · a1f50019
      Alex Crichton 提交于
      The OSX bots failed last night due a race condition in save analysis where
      concurrent calls to `fs::create_dir_all` conflicted with one another. This
      replaces the relevant function call with `fs::create_dir_racy` which is defined
      internally to the compiler.
      a1f50019
    • S
      Document --test-args for rustbuild · 8ed52ed2
      Seo Sanghyeon 提交于
      8ed52ed2
  5. 13 12月, 2016 7 次提交