-
Notifications
You must be signed in to change notification settings - Fork 13.3k
ABI differs when generated by different architecture compilers #29235
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
Comments
I'll also note that the only place I know of where hashing is pointer-size-dependent is when hashing |
I found one of the places this happens a couple weeks ago as part of what I did to #10389: https://github.com/sorear/vow-rs/blob/master/src/main.rs#L121 rust/src/librustc/middle/ty/util.rs Line 544 in 540fd3a
|
Triage: seems fixed on stable
The relevant parts are identical now, save for the usual additional underscore on i686:
Meta
|
I don't think that symbols depending on the target ABI is a problem - different target ABIs are, well, ABI-incompatible. |
For example, given this file:
We get compiles looking like this:
The relevant parts being:
Surprisingly enough, the symbols are different!
This doesn't have too many implications today, the major one I can think of is #29228 which means that libraries generated by an x86_64 compiler cannot be used as plugins to an i686 compiler. I don't think there's any fundamental reason this is happening today, it just sounds like a bug where our hashing is architecture dependent somewhere.
The text was updated successfully, but these errors were encountered: