Fix passing/returning structs with the 64-bit SPARC ABI#142680
Fix passing/returning structs with the 64-bit SPARC ABI#142680rust-bors[bot] merged 1 commit intorust-lang:mainfrom
Conversation
|
|
|
r? @bjorn3 |
|
Note that there are currently two places that Clang and GCC disagree AFAIK:
|
|
Thank you for doing this! My knowledge in this area is rather limited. I was able to build latest Rust sources with your fix on top on Solaris 11.4 SPARC. Then I used this version to build Firefox on Solaris. There was no problem. Firefox also worked as expected. I also tested some problematic cases which I was handling few years ago (https://github.com/psumbera/rust-sparc64-abi-tests). All seemed to be ok. |
|
I don't have time to properly review this right now. r? compiler |
|
☔ The latest upstream changes (presumably #143521) made this pull request unmergeable. Please resolve the merge conflicts. |
4eb3ce5 to
9e4a7bc
Compare
|
Rebased |
|
☔ The latest upstream changes (presumably #144249) made this pull request unmergeable. Please resolve the merge conflicts. |
9e4a7bc to
b7b3ed7
Compare
|
Hi @workingjubilee, are you still interested in reviewing this? If not, we can reroll for a different reviewer. Thanks! |
|
Looks like there is a Clang fix in llvm/llvm-project#155829 |
|
Sorry about that, currently in catchup mode so I am going to delegate, yes. r? @tgross35 |
b7b3ed7 to
7cba46f
Compare
This comment has been minimized.
This comment has been minimized.
7cba46f to
b2e4ee9
Compare
This comment has been minimized.
This comment has been minimized.
7515aca to
9129b31
Compare
|
This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed. Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers. |
9129b31 to
4373d2f
Compare
This comment has been minimized.
This comment has been minimized.
4373d2f to
8ebba60
Compare
This comment has been minimized.
This comment has been minimized.
Co-authored-by: beetrees <b@beetr.ee>
8ebba60 to
c9b5c93
Compare
|
@bors r=tgross35 |
… r=tgross35 Fix passing/returning structs with the 64-bit SPARC ABI Fixes the 64-bit SPARC part of rust-lang#115609 by replacing the current implementation with a new implementation modelled on the RISC-V calling convention code ([SPARC ABI reference](https://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz)). Pinging `sparcv9-sun-solaris` target maintainers: @psumbera @kulikjak Fixes rust-lang#115336 Fixes rust-lang#115399 Fixes rust-lang#122620 Fixes rust-lang#147883 r? @workingjubilee
… r=tgross35 Fix passing/returning structs with the 64-bit SPARC ABI Fixes the 64-bit SPARC part of rust-lang#115609 by replacing the current implementation with a new implementation modelled on the RISC-V calling convention code ([SPARC ABI reference](https://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz)). Pinging `sparcv9-sun-solaris` target maintainers: @psumbera @kulikjak Fixes rust-lang#115336 Fixes rust-lang#115399 Fixes rust-lang#122620 Fixes rust-lang#147883 r? @workingjubilee
… r=tgross35 Fix passing/returning structs with the 64-bit SPARC ABI Fixes the 64-bit SPARC part of rust-lang#115609 by replacing the current implementation with a new implementation modelled on the RISC-V calling convention code ([SPARC ABI reference](https://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz)). Pinging `sparcv9-sun-solaris` target maintainers: @psumbera @kulikjak Fixes rust-lang#115336 Fixes rust-lang#115399 Fixes rust-lang#122620 Fixes rust-lang#147883 r? @workingjubilee
Rollup of 17 pull requests Successful merges: - #142415 (Add note when inherent impl for a alias type defined outside of the crate) - #142680 (Fix passing/returning structs with the 64-bit SPARC ABI) - #150768 (Don't compute FnAbi for LLVM intrinsics in backends) - #151152 (Add FCW for derive helper attributes that will conflict with built-in attributes) - #151814 (layout: handle rigid aliases without params) - #151863 (Borrowck: simplify diagnostics for placeholders) - #152159 (Add note for `?Sized` params in int-ptr casts diag) - #152434 (Clarify names of `QueryVTable` functions for "executing" a query) - #152478 (Remove tm_factory field from CodegenContext) - #152498 (Partially revert "resolve: Update `NameBindingData::vis` in place") - #152316 (fix: add continue) - #152394 (Correctly check if a macro call is actually a macro call in rustdoc highlighter) - #152425 (Port #![test_runner] to the attribute parser) - #152481 (Use cg_ssa's produce_final_output_artifacts in cg_clif) - #152485 (fix issue#152482) - #152495 (Clean up some subdiagnostics) - #152502 (Implement `BinaryHeap::from_raw_vec`)
Rollup merge of #142680 - beetrees:sparc64-float-struct-abi, r=tgross35 Fix passing/returning structs with the 64-bit SPARC ABI Fixes the 64-bit SPARC part of #115609 by replacing the current implementation with a new implementation modelled on the RISC-V calling convention code ([SPARC ABI reference](https://sparc.org/wp-content/uploads/2014/01/SCD.2.4.1.pdf.gz)). Pinging `sparcv9-sun-solaris` target maintainers: @psumbera @kulikjak Fixes #115336 Fixes #115399 Fixes #122620 Fixes #147883 r? @workingjubilee
…at-test, r=RalfJung sparc64: enable abi compatibility test fixes rust-lang#115336 We can now remove the exceptions for sparc64 from the abi compatibility tests (since rust-lang#142680). I was also able to remove a cfg for mips64. The remaining (tested) issues seem to be around how `f64` is handled there. cc @RalfJung r? tgross35
…at-test, r=RalfJung sparc64: enable abi compatibility test fixes rust-lang#115336 We can now remove the exceptions for sparc64 from the abi compatibility tests (since rust-lang#142680). I was also able to remove a cfg for mips64. The remaining (tested) issues seem to be around how `f64` is handled there. cc @RalfJung r? tgross35
Fixes the 64-bit SPARC part of #115609 by replacing the current implementation with a new implementation modelled on the RISC-V calling convention code (SPARC ABI reference).
Pinging
sparcv9-sun-solaristarget maintainers: @psumbera @kulikjakFixes #115336
Fixes #115399
Fixes #122620
Fixes #147883
r? @workingjubilee