-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
extern "C" fn
ABI on aarch64 violates repr(transparent)
#115664
Comments
rustbot
added
the
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
label
Sep 8, 2023
RalfJung
added
I-unsound
Issue: A soundness hole (worst kind of bug), see: https://en.wikipedia.org/wiki/Soundness
O-AArch64
Armv8-A or later processors in AArch64 mode
A-ABI
Area: Concerning the application binary interface (ABI)
labels
Sep 8, 2023
rustbot
added
the
I-prioritize
Issue: Indicates that prioritization has been requested for this issue.
label
Sep 8, 2023
Noratrieb
removed
the
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
label
Sep 8, 2023
This also affects arm32 targets like arm-unknown-linux-gnueabihf. |
Yes, that is definitely the issue -- it claims that |
Should be fixed by #115708. |
Dylan-DPC
added a commit
to Dylan-DPC/rust
that referenced
this issue
Sep 11, 2023
fix homogeneous_aggregate not ignoring some ZST This is an ABI-breaking change, because it fixes bugs in our ABI code. I'm not sure what that means for this PR, we don't really have a process for such changes, do we? I can only hope nobody relied on the old buggy behavior. Fixes rust-lang#115664
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Sep 11, 2023
Rollup merge of rust-lang#115708 - RalfJung:homogeneous, r=davidtwco fix homogeneous_aggregate not ignoring some ZST This is an ABI-breaking change, because it fixes bugs in our ABI code. I'm not sure what that means for this PR, we don't really have a process for such changes, do we? I can only hope nobody relied on the old buggy behavior. Fixes rust-lang#115664
apiraino
removed
the
I-prioritize
Issue: Indicates that prioritization has been requested for this issue.
label
Sep 12, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
On aarch64-unknown-linux-gnu (a tier 1 target), consider this testcase:
test1
passes its argument astest2
usesIOW,
test1
uses float registers andtest2
uses int registers. This violates our promise thatrepr(transparent)
types are ABI-compatible.I think this might indicate a bug in the
homogeneous_aggregate
function? At least I don't see anything in the aarch64 adjustment that would be obviously wrong.The text was updated successfully, but these errors were encountered: