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 5 pull requests #65919

Merged
merged 35 commits into from
Oct 29, 2019
Merged

Rollup of 5 pull requests #65919

merged 35 commits into from
Oct 29, 2019

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Oct 29, 2019

Successful merges:

Failed merges:

r? @ghost

roblabla and others added 30 commits October 25, 2019 13:01
Adds a new ABI for the EFIAPI calls. This ABI should reflect the latest
version of the UEFI specification at the time of commit (UEFI spec 2.8,
URL below). The specification says that for x86_64, we should follow the
win64 ABI, while on all other supported platforms (ia32, itanium, arm,
arm64 and risc-v), we should follow the C ABI.

To simplify the implementation, we will simply follow the C ABI on all
platforms except x86_64, even those technically unsupported by the UEFI
specification.

https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf
Use revisions to run the EFIABI in multiple configurations, compiling
for each supported UEFI platform, and checking the ABI generated in the
LLVM IR is correct.

Use no_core to make it easier to test.
…thewjasper

Lint ignored `#[inline]` on function prototypes

Fixes rust-lang#51280.

- Adds a `unused_attribute` lint for `#[inline]` on function prototypes.
- As a consequence, foreign items, impl items and trait items now have their attributes checked, which could cause some code to no longer compile (it was previously erroneously ignored).
Call out the types that are non local on E0117

CC rust-lang#24745.
Update backtrace to 0.3.40

Diff: rust-lang/backtrace-rs@0.3.37...b5cc5b1

Pretty low risk, considering the only changes are in low-tier targets.

r? @cramertj
cc @alexcrichton
Improve the "try using a variant of the expected type" hint.

Fix rust-lang#65494.

- Change type-printing output.
- Use `span_to_snippet` when possible.
- Change the message to `try using a variant of the expected enum`
Add new EFIAPI ABI

Fixes rust-lang#54527

Adds a new ABI, "efiapi", which reflects the calling convention as specified by [the current spec UEFI spec](https://uefi.org/sites/default/files/resources/UEFI%20Spec%202_7_A%20Sept%206.pdf#G6.999903). When compiling for x86_64, we should select the `win64` ABI, while on all other architectures (Itanium, x86, ARM and ARM64 and RISC-V), we should select the `C` ABI.

Currently, this is done by just turning it into the C ABI everywhere except on x86_64, where it's turned into the win64 ABI. Should we prevent this ABI from being used on unsupported architectures, and if so, how would this be done?
@Centril
Copy link
Contributor Author

Centril commented Oct 29, 2019

@bors r+ p=5 rollup=never

@bors
Copy link
Contributor

bors commented Oct 29, 2019

📌 Commit 46063ed has been approved by Centril

@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 Oct 29, 2019
@Centril Centril added the rollup A PR which is a rollup label Oct 29, 2019
@bors
Copy link
Contributor

bors commented Oct 29, 2019

⌛ Testing commit 46063ed with merge 2dd4e73...

bors added a commit that referenced this pull request Oct 29, 2019
Rollup of 5 pull requests

Successful merges:

 - #65294 (Lint ignored `#[inline]` on function prototypes)
 - #65318 (Call out the types that are non local on E0117)
 - #65531 (Update backtrace to 0.3.40)
 - #65562 (Improve the "try using a variant of the expected type" hint.)
 - #65809 (Add new EFIAPI ABI)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Oct 29, 2019

☀️ Test successful - checks-azure
Approved by: Centril
Pushing 2dd4e73 to master...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants