-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Fix C aggregate-passing ABI on powerpc #66050
Conversation
r? @davidtwco (rust_highfive has picked a reviewer for you, use r? to override) |
r? @eddyb |
@bors r+ Thanks! |
📌 Commit 06502d0d5e028de92288971eeb7e7a671c83d53d has been approved by |
☔ The latest upstream changes (presumably #65938) made this pull request unmergeable. Please resolve the merge conflicts. |
06502d0
to
2c650e0
Compare
The job Click to expand the log.
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 |
The existing code (which looks like it was copied from MIPS) passes aggregates by value in registers. This is wrong. According to the SVR4 powerpc psABI, all aggregates are passed indirectly. See rust-lang#64259 for more discussion, which addresses the ABI for the special case of ZSTs (empty structs).
2c650e0
to
e648aa8
Compare
@bors retry |
@smaeul: 🔑 Insufficient privileges: not in try users |
@eddyb I rebased, but I'm not sure how to get the PR moving again. |
@bors r+ |
📌 Commit e648aa8 has been approved by |
Fix C aggregate-passing ABI on powerpc The existing code (which looks like it was copied from MIPS) passes aggregates by value in registers. This is wrong. According to the SVR4 powerpc psABI, all aggregates are passed indirectly. See rust-lang#64259 for more discussion, which addresses the ABI for the special case of ZSTs (empty structs).
Rollup of 6 pull requests Successful merges: - #65949 (Move promotion into its own pass) - #65994 (Point at where clauses where the associated item was restricted) - #66050 (Fix C aggregate-passing ABI on powerpc) - #66134 (Point at formatting descriptor string when it is invalid) - #66172 (Stabilize @file command line arguments) - #66226 (add link to unstable book for asm! macro) Failed merges: r? @ghost
The existing code (which looks like it was copied from MIPS) passes
aggregates by value in registers. This is wrong. According to the SVR4
powerpc psABI, all aggregates are passed indirectly.
See #64259 for more discussion, which addresses the ABI for the special
case of ZSTs (empty structs).