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 27 pull requests (second batch) #56817

Closed
wants to merge 65 commits into from

Conversation

kennytm
Copy link
Member

@kennytm kennytm commented Dec 14, 2018

Successful merges:

Failed merges:

r? @ghost

yui-knk and others added 30 commits November 29, 2018 08:54
`mir_stats` mod has not been used since c1ff104.
Popping and pushing from the end of a linked list is constant time. This
documentation is already there for popping and pushing from the front.

@bors: r+ 38fe8d2 rollup
Also, provide a suggestion for the correct syntax.
Includes some new stabilized intrinsics for the wasm32 target!

Closes rust-lang#56292
Initially, rust-lang#50233 accidentally changed the capacity of empty ZST. This
was pointed out during code review. This commit adds a test to prevent
capacity of ZST vectors from accidentally changing to prevent that
from happening again.
…matsakis

Update the stdsimd submodule

Includes some new stabilized intrinsics for the wasm32 target!

Closes rust-lang#56292
…k, r=jonas-schievink

fix install broken link

solves rust-lang#56690
…alexcrichton

Always set the RDRAND and RDSEED features on SGX

Not sure if this is 100% correct.

This [Intel article](https://software.intel.com/en-us/articles/intel-software-guard-extensions-tutorial-part-5-enclave-development) goes in great depth regarding using (untrusted) CPUID to see whether RDRAND/RDSEED is supported, and explains what happens to the enclave if the CPUID result is faked.

I'd say that an implementation of SGX that doesn't make RDRAND available to the enclave is so severely limited/broken that it's ok if you get #UD in that case. The case is less clear for RDSEED, but it so far every processor released by Intel with SGX support also has RDSEED (including Gemini Lake).

cc @briansmith
Test capacity of ZST vector

Initially, rust-lang#50233 accidentally changed the capacity of empty ZST. This was pointed out during code review. This commit adds a test to prevent capacity of ZST vectors from accidentally changing to prevent that from happening again.
… r=alexcrichton

Use libbacktrace pretty-printing

r? @alexcrichton
fix rust-lang/rust issue rust-lang#50583

Rationale for the fix is in rust-lang#50583.  I've verified that before the fix /musl-armhf/lib/libc.a is riddled with the illegal variant of vmov.f64 and after the fix the version built doesn't contain any of these illegal instructions.

I originally thought that the arm-linux-gnueabi version also needed fixing - to add a -mfloat-abi-soft but that's unnecessary as it's compiled with the gnueabi (not hf) compiler (I've some a quick check that the libc.a produced doesn't include VFP instructions).

r? @alexcrichton
…s-message, r=zackmdavis

Fix private_no_mangle_fns message grammar

Simply changes "an warning" to "a warning" in the `private_no_mangle_fns` warning. I started getting this in some code after upgrading to 1.31.0.
…osure-using-region-from-containing-fn, r=nikomatsakis

Add test of current behavior (infer free region within closure body)

This behavior was previously not encoded in our test suite.

it is pretty important that we test this behavior. In particular, in rust-lang#56537  I had proposed expanding the lifetime elision rules so that they would apply to some of the cases encoded in this test, which would cause them to start failing to compile successfully (because the lifetime attached to the return type would start being treated as connected to the lifetime on the input parameter to the lambda expression, which is explicitly *not* what the code wants in this particular case).

In other words, I am trying to ensure that anyone who tries such experiments with lifetime elision in the future quickly finds out why we don't support lifetime elision on lambda expressions (at least not in the naive manner described on rust-lang#56537).
…ckmdavis

target: remove Box returned by get_targets
Allow ptr::hash to accept fat pointers

Fat pointers implement Hash since rust-lang#45483.  This is a follow-up to rust-lang#56250.
…ertj

Account for `impl Trait` when suggesting lifetime

Fix rust-lang#56745
… r=kennytm

Add short emoji status to toolstate updates

I get a lot of these emails and it's good to know which ones I should be paying closer attention to -- i.e. the ones where clippy breaks. This adds a short emoji status report to the first line of the commit message, which shows up in notifications directly

I haven't been able to test it, and the actual emoji are just suggestions.

r? @kennytm

cc @rust-lang/infra @rust-lang/devtools
Add x86_64-unknown-uefi target

This adds a new rustc target-configuration called 'x86_64-unknown_uefi'.
Furthermore, it adds a UEFI base-configuration to be used with other
targets supported by UEFI (e.g., i386, armv7hl, aarch64, itanium, ...).

UEFI systems provide a very basic operating-system environment, meant
to unify how systems are booted. It is tailored for simplicity and fast
setup, as it is only meant to bootstrap other systems. For instance, it
copies most of the ABI from Microsoft Windows, rather than inventing
anything on its own. Furthermore, any complex CPU features are
disabled. Only one CPU is allowed to be up, no interrupts other than
the timer-interrupt are allowed, no process-separation is performed,
page-tables are identity-mapped, ...

Nevertheless, UEFI has an application model. Its main purpose is to
allow operating-system vendors to write small UEFI applications that
load their kernel and terminate the UEFI system. However, many other
UEFI applications have emerged in the past, including network-boot,
debug-consoles, and more.

This UEFI target allows to compile rust code natively as UEFI
applications. No standard library support is added, but libcore can be
used out-of-the-box if a panic-handler is provided. Furthermore,
liballoc works as well, if a `GlobalAlloc` handler is provided. Both
have been tested with this target-configuration.

Note that full libstd support is unlikely to happen. While UEFI does
have standardized interfaces for networking and alike, none of these
are mandatory and they are unlikely to be shipped in common consumer
firmwares. Furthermore, several features like process-separation are
not available (or only in very limited fashion). Those parts of libstd
would have to be masked.
…mes-requires-optimizations, r=nikic

fix issue 54153 by not testing issue-18804 on Windows nor OS X.

Fix rust-lang#54153
Fixes broken links

Just a few broken links.

Not sure what to do about this one: https://github.com/rust-lang/rust/blame/master/src/doc/unstable-book/src/language-features/plugin.md#L135 (regex macros were removed a while ago in rust-lang/regex@0375954).
@kennytm kennytm changed the title Rollup of 27 pull requests Rollup of 27 pull requests (second batch) Dec 14, 2018
@kennytm
Copy link
Member Author

kennytm commented Dec 14, 2018

@bors r+ p=27

@bors
Copy link
Contributor

bors commented Dec 14, 2018

📌 Commit 38ac4ba has been approved by kennytm

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Dec 14, 2018
@bors
Copy link
Contributor

bors commented Dec 14, 2018

⌛ Testing commit 38ac4ba with merge b48ee9d3114a66327ff50ab783212e7b6965ee89...

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[01:00:08] failures:
[01:00:08] 
[01:00:08] ---- [run-pass] run-pass/issues/issue-18804/main.rs stdout ----
[01:00:08] 
[01:00:08] error: test compilation failed although it shouldn't!
[01:00:08] status: signal: 6
[01:00:08] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/issues/issue-18804/main.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-18804/main/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-C" "no-prepopulate-passes" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-18804/main/auxiliary"
[01:00:08] ------------------------------------------
[01:00:08] 
[01:00:08] ------------------------------------------
[01:00:08] stderr:
[01:00:08] stderr:
[01:00:08] ------------------------------------------
[01:00:08] rustc: /checkout/src/llvm/include/llvm/ADT/StringRef.h:239: char llvm::StringRef::operator[](size_t) const: Assertion `Index < Length && "Invalid index!"' failed.
[01:00:08] ------------------------------------------
[01:00:08] 
[01:00:08] thread '[run-pass] run-pass/issues/issue-18804/main.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3252:9
[01:00:08] note: Run with `RUST_BACKTRACE=1` for a backtrace.
---
[01:00:08] 
[01:00:08] 
[01:00:08] 
[01:00:08] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:503:22
[01:00:08] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/run-pass" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "run-pass" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--llvm-version" "8.0.0svn\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:00:08] 
[01:00:08] 
[01:00:08] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:00:08] Build completed unsuccessfully in 0:58:02
---
travis_time:end:3d194f03:start=1544816293467637884,finish=1544816293477367800,duration=9729916
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:0b638dd6
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:start:crashlog
obj/cores/core.16078.!checkout!obj!build!x86_64-unknown-linux-gnu!stage2!bin!rustc
[New LWP 16101]
[New LWP 16078]
[New LWP 16099]
[New LWP 16100]
[New LWP 16102]
warning: Could not load shared library symbols for 9 libraries, e.g. linux-vdso.so.1.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc /checkout/src/tes'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f11a2a3d077 in ?? ()
#0  0x00007f11a2a3d077 in ?? ()
#1  0x0000000000000000 in ?? ()
travis_time:end:0b638dd6:start=1544816293486123743,finish=1544816295061109242,duration=1574985499
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:056ae892
travis_time:start:056ae892
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:0595d708
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Dec 14, 2018

💔 Test failed - status-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 14, 2018
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
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 S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet