-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
custom VaList layout for Hexagon
#149967
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
base: main
Are you sure you want to change the base?
custom VaList layout for Hexagon
#149967
Conversation
|
|
Thanks for the PR - I will give it a look! |
Yeah - can do. |
Nice, the relevant test here is |
Thanks! It passes with the changes in androm3da@5e7eca0 - now sent as three PRs: #150008, #150009, #150010 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed while browsing LLVM source that we use an incorrect
VaListdefinition for the musl hexagon target.relevant links
cc target maintainer @androm3da can you confirm that this looks OK? In particular the
#[rustc_pass_indirectly_in_non_rustic_abis]attribute is used to simulate pointer decay (like if the struct were wrapped in a 1-element array in C). The clang comment suggests that the Tag is wrapped in such a single-element array, but I haven't actually been able to confirm it.For stabilizing
c_variadic(on the hexagon targets) we will also need a customva_argimplementation to mirror the one inclangin va_arg.rs. Would you be able to contribute one?r? @workingjubilee