Skip to content
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

Rust ABI is not the C ABI #10052

Closed
brson opened this issue Oct 24, 2013 · 3 comments
Closed

Rust ABI is not the C ABI #10052

brson opened this issue Oct 24, 2013 · 3 comments
Labels
E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot.

Comments

@brson
Copy link
Contributor

brson commented Oct 24, 2013

Having a well-defined ABI is probably important eventually. Right now it's nice to think the Rust ABI is just the C ABI but it is actually not since LLVM's cdecl does not implement the complete platform-specific rules for the C ABI. If we wanted to actually define the Rust ABI as the C ABI then we would need to run our code generation through the same code paths as our native function bindings.

@brson
Copy link
Contributor Author

brson commented Oct 24, 2013

cc #1835

@nikomatsakis
Copy link
Contributor

Do we necessarily want to specify the Rust ABI precisely? I like the
idea that the Rust ABI is undefined but is distinct from the C abi. I
guess we might want to specify it for forwards binary compatibility at
some point, but I think that's not something we have to do now (I
think we'd want to come up with a precise list of the sorts of changes
that warrant recompilation; right now it's kind of "anything at all",
and changing Rust compiler versions definitely counts).

@steveklabnik
Copy link
Member

Given that this would be an RFC-worthy topic these days, closing in favor of rust-lang/rfcs#600

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-hard Call for participation: Hard difficulty. Experience needed to fix: A lot.
Projects
None yet
Development

No branches or pull requests

3 participants