-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Add powerpc-unknown-linux-musl target #45422
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
r? @alexcrichton -- I know nothing of this. |
Thanks! Do you want to test this out before landing perhaps? I think you can uncomment the Also, would you be willing to help fix liblibc after this patch lands? Once this gets into nightlies we can start adding automation to the libc repo to assert that the bindings are all correct there. |
Hmm, good call. It turns out that this is indeed broken thanks to PPC's silly double-double floating point. AFAICT Rust cannot use f128/f80/long-double at all, so I believe passing |
Er, apparently gcc also doesn't define |
Apparently clang will define both __ppc__ and __powerpc__, but gcc only defines __powerpc__. However, libunwind only looks for __ppc__.
As suggested by alexcrichton
Uh oh. It looks like libunwind's assembly isn't compatible with binutils (presumably only with llvm's assembler). How should we proceed from here? |
Unsure! I don't know much about powerpc |
Heya @rqou — have you had any time to make progress on this PR? Do you have any avenues on where to find information / help? |
Since you asked, I tried to get libunwind to compile with clang and its integrated assembler, but that still does not work. I don't know how this was ever supposed to work, and I have no idea where to look next since nothing here seems to be documented. If you have any ideas, I will go and try them. |
Of course, there's a brute force solution of replacing the assembly files with something gcc/binutils does accept, but I want to avoid doing that if possible. |
(please disregard the comment I just made on the wrong issue) @rqou I'm asking around to try and find help for you on this, but I'm not sure who has powerpc knowledge :-/ |
There are people who would be interested in |
If Rust truly requires LLVM libunwind to work, then it will require work upstream in LLVM to ever have working PowerPC musl targets. |
Sorry, finals/projects weeks. Feel free to take this over if you really really want it done. |
☔ The latest upstream changes (presumably #46499) made this pull request unmergeable. Please resolve the merge conflicts. |
As @rqou has said they are working on finals, let's let this ignore triage until 2018-01-01. |
ping @rqou, just wanted to bring this back on radar! |
I hope finals went well, @rqou! Since we haven't heard from you in a few weeks, we are going to go ahead and close this for now to keep things tidy. If you have time to work on this again, we hope you will reopen this PR! |
This is 100% untested, but this is essentially a copy-paste of #44779 now that there is actually an up-to-date non-bitrotten example of how to add a new target. Should close #42520.
Again, this is super untested because I don't even know how to build rust.