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 13 pull requests #74205

Closed
wants to merge 33 commits into from

Conversation

Manishearth
Copy link
Member

Successful merges:

Failed merges:

r? @ghost

RalfJung and others added 30 commits July 3, 2020 13:22
Co-authored-by: Teymour Aldridge <42674621+teymour-aldridge@users.noreply.github.com>
A function that has no prologue cannot be reasonably expected to support
debuginfo. In fact, the existing code (before this patch) would generate
invalid instructions that caused crashes. We can solve this easily by
just not emitting the debuginfo in this case.

Fixes rust-lang#42779
cc rust-lang#32408
This pulls in a fix for the install script on some tr(1) implementations,
as well as an update to use `anyhow` instead of `failure` for error
handling.
This adds `read_exact_at` and `write_all_at` to WASI's `FileExt`,
similar to the Unix versions of the same names.
Rename the existing read_at/write_at to read_vectored_at/write_vectored_at,
for consistency with libstd's read_vectored/write_vectored. And,
introduce new read_at/write_at functions which take a single buffer,
similar to all other targets which provide these functions, so this will
make it easier for applications to share code between WASI and other
targets.

Note that WASI's FileExt is currently unstable.
When cross-compiling, the LLVM build system recurses to build tools
that need to run on the host system. However, since we pass cmake defines
to set the compiler and target, LLVM still compiles these tools for the
target system, rather than the host. The tools then fail to execute
during the LLVM build.

This change sets defines for the tools that need to run on the
host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build
does not attempt to build them, and instead relies on the tools already built.

If compiling with clang-cl, this change also adds the `--target` option
to specify the target triple. MSVC compilers do not require this, since there
is a separate compiler binary for cross-compilation.
Suggested by @bjorn3

Every RUN command creates a new overlay on top of the image as of before
the RUN command. Using fewer RUN commands prevents intermediate overlays
(which in this case would have contained the entire Linux source tree).
When the dockerfiles were moved into the host-x86_64 directory, paths
for COPY commands were updated with the new host-x86_64/ prefix. This
suggested that the intended context was src/ci/docker. However, the context
for disabled docker images was src/ci/docker/host-x86_64. This broke the new
paths and prevented src/ci/docker/scripts from being included in the
context at all.

This commit corrects this context allowing docker to find the files it
needs for COPY commands.
As of rust-lang#73564, the --eh-frame-hdr flag is unconditionally
passed to linkers on many platforms.  The illumos link editor does not
currently support this flag.

The linker machinery in the Rust toolchain currently seems to use the
(potentially cross-compiled) target to choose linker flags, rather than
looking at what might be running on the build system.  Disabling the
flag for all illumos/Solaris targets seems like the best we can do for
now without more serious surgery.
It has a single call site and having it as a separate (higher-order!)
function makes the code harder to read.
This makes the two versions (parallel and non-parallel) more similar to
each other.
A couple of these are quite long, but they do a much better job of
explaining what they do, which was non-obvious before.
adjust ub-enum test to be endianess-independent

@cuviper noted that our test fails on "other" endianess systems (I never know which is which^^), so let's fix that.
Explain effects of debugging options from config.toml
…, r=alexcrichton

Add `read_exact_at` and `write_all_at` to WASI's `FileExt`

This adds `read_exact_at` and `write_all_at` to WASI's `FileExt`,
similar to the Unix versions of the same names.
Suppress debuginfo on naked function arguments

A function that has no prologue cannot be reasonably expected to support
debuginfo. In fact, the existing code (before this patch) would generate
invalid instructions that caused crashes. We can solve this easily by
just not emitting the debuginfo in this case.

Fixes rust-lang#42779
cc rust-lang#32408
Fix cross compilation of LLVM to aarch64 Windows targets

When cross-compiling, the LLVM build system recurses to build tools that need to run on the host system. However, since we pass cmake defines to set the compiler and target, LLVM still compiles these tools for the target system, rather than the host. The tools then fail to execute during the LLVM build.

This change sets defines for the tools that need to run on the host (llvm-nm, llvm-tablegen, and llvm-config), so that the LLVM build does not attempt to build them, and instead relies on the tools already built.

If compiling with clang-cl, adds the `--target` option to specify the target triple. MSVC compilers do not require this, since there is a separate compiler binary for each cross-compilation target.

Related issue: rust-lang#72881
Requires LLVM change: rust-lang/llvm-project#67
Update books

## book

3 commits in 4e7c00bece1544d409312ec93467beb62b5bd0cb..84a31397b34f9d405df44f2899ff17a4828dba18
2020-06-19 09:39:12 -0400 to 2020-07-04 10:50:18 -0500
- Update Windows install instructions (rust-lang/book#2389)
- Update ch01-02-hello-world.md (rust-lang/book#2386)
- bump mdbook version in github action (rust-lang/book#2380)

## reference

2 commits in 04d5d5d7ba624b6f5016298451f3a63d557f3260..0ea7bc494f1289234d8800bb9185021e0ad946f0
2020-06-16 15:08:05 -0700 to 2020-07-02 15:33:04 -0700
- Fix mis-capitalization of type name. (rust-lang/reference#844)
- Fix name of trait for array indexing. (rust-lang/reference#840)

## embedded-book

1 commits in 616962ad0dd80f34d8b802da038d0aed9dd691bb..94d9ea8460bcbbbfef1877b47cb930260b5849a7
2020-06-23 16:03:45 +0000 to 2020-07-05 14:17:40 +0000
- Note on transformation of static variables by attribute exception  (rust-embedded/book#251)

## rust-by-example

1 commits in 6f94ccb48da6fa4ed0031290f21411cf789f7d5e..229c6945a26a53a751ffa4f9cb418388c00029d3
2020-06-20 17:51:30 -0300 to 2020-07-06 10:13:15 -0300
- Modify comments (rust-lang/rust-by-example#1359)
…k-Simulacrum

Update rust-installer to latest version

This pulls in a fix for the install script on some tr(1) implementations,
as well as an update to use `anyhow` instead of `failure` for error
handling.
…nt, r=Mark-Simulacrum

Fix  disabled dockerfiles

When the dockerfiles were moved into the host-x86_64 directory, paths
for COPY commands were updated with the new host-x86_64/ prefix. This
suggested that the intended context was src/ci/docker. However, the context
for disabled docker images was src/ci/docker/host-x86_64. This broke the new
paths and prevented src/ci/docker/scripts from being included in the
context at all.

This commit corrects this context allowing docker to find the files it
needs for COPY commands.

Also includes a quick fix to riscv recommended by @bjorn3
…-fix, r=petrochenkov

linker: illumos ld does not support --eh-frame-hdr

As of rust-lang#73564, the --eh-frame-hdr flag is unconditionally
passed to linkers on many platforms.  The illumos link editor does not
currently support this flag.

The linker machinery in the Rust toolchain currently seems to use the
(potentially cross-compiled) target to choose linker flags, rather than
looking at what might be running on the build system.  Disabling the
flag for all illumos/Solaris targets seems like the best we can do for
now without more serious surgery.
…s, r=petrochenkov

Add a help to use `in_band_lifetimes` in nightly

Fixes rust-lang#73775
@Manishearth
Copy link
Member Author

@rustbot modify labels: +rollup
@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Jul 10, 2020

📌 Commit e84c903 has been approved by Manishearth

@rustbot rustbot added the rollup A PR which is a rollup label Jul 10, 2020
@bors
Copy link
Contributor

bors commented Jul 10, 2020

🌲 The tree is currently closed for pull requests below priority 5, this pull request will be tested once the tree is reopened

@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 Jul 10, 2020
@bors
Copy link
Contributor

bors commented Jul 10, 2020

⌛ Testing commit e84c903 with merge 9aa1230257aa64c34fe135aee6beba62ee0987cd...

@bors
Copy link
Contributor

bors commented Jul 10, 2020

💔 Test failed - checks-actions

@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 Jul 10, 2020
@Manishearth
Copy link
Member Author

2020-07-10T02:47:08.2898965Z �[0m�[1m�[38;5;9merror[E0412]�[0m�[0m�[1m: cannot find type `ThreadBuilder` in this scope�[0m
2020-07-10T02:47:08.2899884Z �[0m   �[0m�[0m�[1m�[38;5;12m--> �[0m�[0msrc/librustc_interface/util.rs:189:50�[0m
2020-07-10T02:47:08.2900915Z �[0m    �[0m�[0m�[1m�[38;5;12m|�[0m
2020-07-10T02:47:08.2901666Z �[0m�[1m�[38;5;12m189�[0m�[0m �[0m�[0m�[1m�[38;5;12m| �[0m�[0m                let main_handler = move |thread: ThreadBuilder| {�[0m
2020-07-10T02:47:08.2902574Z �[0m    �[0m�[0m�[1m�[38;5;12m| �[0m�[0m                                                 �[0m�[0m�[1m�[38;5;9m^^^^^^^^^^^^^�[0m�[0m �[0m�[0m�[1m�[38;5;9mnot found in this scope�[0m
2020-07-10T02:47:08.2910253Z �[0m    �[0m�[0m�[1m�[38;5;12m|�[0m
2020-07-10T02:47:08.2911045Z �[0m�[1m�[38;5;14mhelp�[0m�[0m: consider importing this struct�[0m
2020-07-10T02:47:08.2911621Z �[0m    �[0m�[0m�[1m�[38;5;12m|�[0m
2020-07-10T02:47:08.2912948Z �[0m�[1m�[38;5;12m1�[0m�[0m   �[0m�[0m�[1m�[38;5;12m| �[0m�[0muse rayon::ThreadBuilder;�[0m
2020-07-10T02:47:08.2913528Z �[0m    �[0m�[0m�[1m�[38;5;12m|�[0m
2020-07-10T02:47:08.2914595Z 
2020-07-10T02:47:08.7129510Z �[0m�[1m�[38;5;9merror�[0m�[0m�[1m: aborting due to previous error�[0m
2020-07-10T02:47:08.7129786Z 
2020-07-10T02:47:08.7130355Z �[0m�[1mFor more information about this error, try `rustc --explain E0412`.�[0m
2020-07-10T02:47:08.7322787Z �[0m�[0m�[1m�[31merror�[0m�[1m:�[0m could not compile `rustc_interface`.
2020-07-10T02:47:08.7323085Z 

@Manishearth Manishearth mentioned this pull request Jul 10, 2020
@Manishearth Manishearth deleted the rollup-6sydmu0 branch July 18, 2020 01:14
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.