-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Mips (big endian) gives "undefined reference to `std::rt::lang_start'" #42239
Comments
cc @japaric |
I don't have a MIPS machine right here, but it certainly looks that |
Does beta work, btw? |
jcowgill
added a commit
to jcowgill/rust
that referenced
this issue
Jun 1, 2017
Byteswapping Fingerprints when encoding is unnessesary and breaks if the Fingerprint is later decoded on a machine with different endianness to the one it was encoded on. Fix by removing the Encodable and Decodable implementations and use the ones derived from RustcEncodable and RustcDecodable. Fixes rust-lang#42239
Mark-Simulacrum
added a commit
to Mark-Simulacrum/rust
that referenced
this issue
Jun 1, 2017
…oerister Don't byteswap Fingerprints when encoding Byteswapping Fingerprints when encoding is unnessesary and breaks if the Fingerprint is later decoded on a machine with different endianness to the one it was encoded on. Fixes rust-lang#42239 This PR fixes a regression caused by rust-lang#42082. @michaelwoerister
Mark-Simulacrum
added a commit
to Mark-Simulacrum/rust
that referenced
this issue
Jun 1, 2017
…oerister Don't byteswap Fingerprints when encoding Byteswapping Fingerprints when encoding is unnessesary and breaks if the Fingerprint is later decoded on a machine with different endianness to the one it was encoded on. Fixes rust-lang#42239 This PR fixes a regression caused by rust-lang#42082. @michaelwoerister
Mark-Simulacrum
added a commit
to Mark-Simulacrum/rust
that referenced
this issue
Jun 2, 2017
…oerister Don't byteswap Fingerprints when encoding Byteswapping Fingerprints when encoding is unnessesary and breaks if the Fingerprint is later decoded on a machine with different endianness to the one it was encoded on. Fixes rust-lang#42239 This PR fixes a regression caused by rust-lang#42082. @michaelwoerister
Mark-Simulacrum
added a commit
to Mark-Simulacrum/rust
that referenced
this issue
Jun 2, 2017
…oerister Don't byteswap Fingerprints when encoding Byteswapping Fingerprints when encoding is unnessesary and breaks if the Fingerprint is later decoded on a machine with different endianness to the one it was encoded on. Fixes rust-lang#42239 This PR fixes a regression caused by rust-lang#42082. @michaelwoerister
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Attempting to compile this example program
foo.rs
using a nightly compiler:On a native mips big endian machine gives me this:
If I compile
foo.rs
to an object and dump the symbols, I see that the hash forlang_start
is different between the object and the rlib file:After some debugging, I managed to work out that the value of
tcx.def_path_hash(def_id)
forlang_start
passed to theTypeIdHasher
inrustc_trans::back::symbol_names::get_symbol_hash
is byteswapped when run natively compared to running on an x86 -> mips cross compiler. I couldn't work out where this value originally comes from, but hopefully someone here knows. :)I also tried using a stable compiler, but it failed with the issue #41471 before getting to this stage.
The text was updated successfully, but these errors were encountered: