-
Notifications
You must be signed in to change notification settings - Fork 673
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
x32 port #1366
x32 port #1366
Conversation
Should be g2g, will wait for review to squash. Oddly, the |
Interesting. Are you actually using x32 with Rust? Last I heard, Linux was talking about dropping it. |
Well, I am running a full Debian x32 userland, with the only foreign packages being the kernel. "With Rust"? Well, I only recently found the target in rustup, did a bare-bones port of nix, and hit a codegen bug almost immediately; LLVM (and, well, Rust: rust-lang/rust#59220) is still very much baby mode on x32, but I would love to be able to just™ target Rust there. It's currently not really viable, but I also see no reason why it wouldn't become viable in future. As for Linux dropping it, I neither know nor care; it's a (low priority, but still) supported target of the Rust platform as it stands. |
Rebased, squashed, includes @hvdijk's test fixes from #1384 (comment). |
pogue, it even builds on CI. @hvdijk mind testing on your set-up again? |
It passes testing here, except for unrelated issues, nice. For completeness, the unrelated issues are:
|
@nabijaczleweli why don't you go ahead and add x32 to .cirrus-ci.yml and to the Tier 3 target list in the README? |
The tests fail typecheck at |
Just a heads up, tests are going to fail for x32 even with the updated caps-rs unless you have also patched rust's LLVM to include the x32 codegen fixes that are going to be in LLVM 12. |
Hence why I only marked it for typecheck |
Ouch. Well, we can't merge it like that. You can remove the |
LLVM has x32 codegen bugs that are only fixed in LLVM 12, but Rust, even nightly, is currently still based on LLVM 11. These codegen bugs affect Rust code badly. If you stick with what you get from
LLVM 12 already has its first release candidate out, so I do not expect it to take too long till we have an official version of Rust that generates correct x32 code. Until then, for actually running Rust code on x32, a built-from-source version of Rust is needed with LLVM 12's fixes applied. |
At the point where you run it and it fails to properly relocate and segfaults in a Funny Way™, at least that's what happened that time I built one of my programs. Got rid of |
Yes, please add a PR for that when it's ready. In the meantime, how about a CHANGELOG entry? |
Test fix obtained from #1384 (comment)
Added CHANGELOG entry and re-added the tests typecheck with the bumped caps. |
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.
bors r+
I played pretty loose with the statfs bit, hoping for CI to tell me if I broke something.