Skip to content

Conversation

@folkertdev
Copy link
Contributor

I noticed while browsing LLVM source that we use an incorrect VaList definition 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 custom va_arg implementation to mirror the one in clang in va_arg.rs. Would you be able to contribute one?

r? @workingjubilee

@folkertdev folkertdev added the F-c_variadic `#![feature(c_variadic)]` label Dec 13, 2025
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Dec 13, 2025
@rustbot
Copy link
Collaborator

rustbot commented Dec 13, 2025

workingjubilee is currently at their maximum review capacity.
They may take a while to respond.

@androm3da
Copy link
Contributor

can you confirm that this looks OK?

Thanks for the PR - I will give it a look!

@androm3da
Copy link
Contributor

For stabilizing c_variadic (on the hexagon targets) we will also need a custom va_arg implementation to mirror the one in clang in va_arg.rs. Would you be able to contribute one?

Yeah - can do.

@folkertdev
Copy link
Contributor Author

For stabilizing c_variadic (on the hexagon targets) we will also need a custom va_arg implementation to mirror the one in clang in va_arg.rs. Would you be able to contribute one?

Yeah - can do.

Nice, the relevant test here is ./x test tests/run-make/c-link-to-rust-va-list-fn --target hexagon-unknown-linux-musl.

@androm3da
Copy link
Contributor

For stabilizing c_variadic (on the hexagon targets) we will also need a custom va_arg implementation to mirror the one in clang in va_arg.rs. Would you be able to contribute one?

Yeah - can do.

Nice, the relevant test here is ./x test tests/run-make/c-link-to-rust-va-list-fn --target hexagon-unknown-linux-musl.

Thanks! It passes with the changes in androm3da@5e7eca0 - now sent as three PRs: #150008, #150009, #150010

Copy link
Contributor

@androm3da androm3da left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

F-c_variadic `#![feature(c_variadic)]` S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants