Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 28 pull requests #40091

Merged
merged 72 commits into from
Feb 25, 2017
Merged

Rollup of 28 pull requests #40091

merged 72 commits into from
Feb 25, 2017

Conversation

eddyb
Copy link
Member

@eddyb eddyb commented Feb 25, 2017

jackpot51 and others added 30 commits February 8, 2017 20:01
This is a simple way to workaround the debugging issues caused by the rustc
wrapper used in the bootstrap process. Namely, it uses some obscure environment
variables and you can’t just copy the failed command and run it in the shell or
debugger to examine the failure more closely.

With `--on-fail` its possible to run an arbitrary command within exactly the
same environment under which rustc failed. Theres’s multiple ways to use this
new flag:

$ python x.py build --stage=1 --on-fail=env

    would print a list of environment variables and the failed command, so a
    few copy-pastes and you now can run the same rust in your shell outside the
    bootstrap system.

$ python x.py build --stage=1 --on-fail=bash

    Is a more useful variation of the command above in that it launches a whole
    shell with environment already in place! All that’s left to do is copy-paste
    the command just above the shell prompt!

Fixes rust-lang#38686
Fixes rust-lang#38221
* Update bootstrap to recognize the cputype 'sparcv9' (used on Solaris)
* Change to never use -fomit-frame-pointer on Solaris or for sparc
* Adds rust target sparcv9-sun-solaris

Fixes rust-lang#39901
The mx_handle_wait_* syscalls in Magenta were renamed to
mx_object_wait. The syscall is used in the Magenta/Fuchsia
implementation of std::process, to wait on child processes.

In addition, this patch enables the use of the system provided
libbacktrace library on Fuchsia targets. Symbolization is not yet
working, but at least it allows printing hex addresses in a backtrace
and makes building succeed when the backtrace feature is not disabled.
This generated an ugly error with fakeroot before.
Give LLVM much more information about vtable pointers. Without the extra
information, LLVM has to be rather pessimistic about vtables, preventing
a number of obvious optimisations.

* Makes the vtable pointer argument noalias and readonly.
* Marks loads of the vtable pointer as nonnull.
* Marks load from the vtable with `!invariant.load` metadata.

Fixes rust-lang#39992
The mitigations for rust-lang#34978 involve passing `-Wa,-mrelax-relocations=no` to all C
code we compile, and we just forgot to pass it when compiling musl itself.

Closes rust-lang#39979
This doesn't belong in rustbuild itself, and now that we have only rustbuild we
can move this out of the build system.
Add the `?Sized` bound as we don't require the type to be sized.

Closes rust-lang#40011
The readdir_r function is deprecated on newer Posix systems because of
various problems, and not implemented at all for Fuchsia. There are
already implementations using both, and this patch switches Fuchsia
over to the readdir-based one.

Fixes rust-lang#40021 for Fuchsia, but that issue also contains discussion of
what should happen for other Posix systems.
In addition to defining and handling the new option, we also add a
method on librustc::Session for determining the necessity of overflow
checks.  This method provides a single point to sort out the three (!)
different ways for turning on overflow checks: -C debug-assertions, -C
overflow-checks, and -Z force-overflow-checks.

Fixes rust-lang#33134.
Update the implementation of name_bytes to use the owned string (which
is thread safe). Also bump the src/liblibc submodule now that's merged.
Added test for inclusive_range_syntax in compile-fail test suite

Fixes rust-lang#39059
r? @est31

Forgot to leave a comment on the issue, hopefully nobody else is working on this one!
…hton

add `-C overflow-checks` option

In addition to defining and handling the new option, we also add a method on librustc::Session for determining the necessity of overflow checks.  This method provides a single point to sort out the three (!) different ways for turning on overflow checks: -C debug-assertions, -C overflow-checks, and -Z force-overflow-checks.

I was seeing a [run-pass/issue-28950.rs](https://github.com/rust-lang/rust/blob/b1363a73ede57ae595f3a1be2bb75d308ba4f7f6/src/test/run-pass/issue-28950.rs) failure on my machine with these patches, but I was also seeing the failure without the changes to the core compiler.  We'll see what travis says.

Fixes rust-lang#33134.  r? @alexcrichton
…woerister

detect "bootstrap outputs" when serializing the dep-graph

Fixes rust-lang#39828.

r? @michaelwoerister
trans: don't ICE when trying to create ADT trans-items

ADTs are translated in-place from rustc_trans::callee, so no trans-items
are needed.

This fix will be superseded by the shimmir branch, but I prefer not to
backport that to beta.

Fixes rust-lang#39823.

Beta-nominating because regression.

r? @michaelwoerister
Add Gankro's table to nomicon/src/phantom-data.md

Original: rust-lang#30069 (comment)

Testing confirms that:

  - `PhantomData<fn() -> T>` does not actually enable drop checking.
  - `PhantomData<fn(T) -> T>` is neither variant nor contravariant.
Move COMPILER_TESTS.md out of the root directory

See rust-lang#39896.

r? @brson
@rust-highfive
Copy link
Collaborator

r? @nrc

(rust_highfive has picked a reviewer for you, use r? to override)

@eddyb
Copy link
Member Author

eddyb commented Feb 25, 2017

@bors r+ p=1000

@bors
Copy link
Contributor

bors commented Feb 25, 2017

📌 Commit 207c763 has been approved by eddyb

@bors
Copy link
Contributor

bors commented Feb 25, 2017

⌛ Testing commit 207c763 with merge 9a6d2c5...

@bors
Copy link
Contributor

bors commented Feb 25, 2017

💔 Test failed - status-travis

@eddyb
Copy link
Member Author

eddyb commented Feb 25, 2017

@bors retry

  • HTTP 500 from crates.io?

@bors
Copy link
Contributor

bors commented Feb 25, 2017

⌛ Testing commit 207c763 with merge 1572bf1...

bors added a commit that referenced this pull request Feb 25, 2017
@bors
Copy link
Contributor

bors commented Feb 25, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: eddyb
Pushing 1572bf1 to master...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup
Projects
None yet
Development

Successfully merging this pull request may close these issues.