-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Update aarch64-linux-android target to match android abi. #33500
Update aarch64-linux-android target to match android abi. #33500
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (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. |
Argh
Seems reasonable to me to follow what LLVM does here, but would be good to leave a comment as to why the option is set.
Is there some "official" documentation stating this as well that we could point to? |
Updated doc link to http://developer.android.com/ndk/guides/cpu-features.html, the section "64-bit ARM CPU family" mentions that FP and ASIMD (which is NEON) must be available. |
6851e9c
to
1b64a24
Compare
Could you add that link to the source where we specify those features? Also if you've got a link to the frame pointer business as well that'd be useful too! |
@alexcrichton Link added.
The frame pointer business so far is just a guess. Guess that works. |
Thanks! Could you squash the commits down, and if the frame pointer elimination is still up in the air perhaps we could leave that option as the default? |
☔ The latest upstream changes (presumably #33048) made this pull request unmergeable. Please resolve the merge conflicts. |
what do you mean? I only saw it set for aarch64, presumably because there are problems with stack unwinding otherwise, but I might be mistaken
a commit that updated liblibc got in by mistake, but do you want me to update libc as well? |
Have you observed crashes or otherwise incorrect results if frame pointers elimination is left on? I'm just thinking that if we don't have a concrete reason to turn it off we probably shouldn't, but if there's one then it's fine to turn off and we should just comment to that effect. Ah throwing in a libc update is fine if necessary, but you can also rebase it out if you want. |
64146e4
to
87c90da
Compare
|
@bors: r+ 87c90da89e9683abd50a671bbdd4e041310b2192 |
⌛ Testing commit 87c90da with merge 81f9134... |
💔 Test failed - auto-linux-64-cross-netbsd |
87c90da
to
e512abd
Compare
Excluding latest libc commit for now because it removed |
Hm yes that's an accident that it was removed, but we can land this in the meantime. @bors: r+ e512abd |
⌛ Testing commit e512abd with merge 4fdf2c4... |
…-abi, r=alexcrichton Update aarch64-linux-android target to match android abi. - Changed `target_env` to "gnu" to empty "" for all android targets because it does not matter for android. - The PR #33048 added "max_atomic_width" for arm-android but missed recently added armv7-android. Add it there too. - Added features `+neon,+fp-armv8` because they [must exist on `aarch64` android](http://developer.android.com/ndk/guides/cpu-features.html). - Update libc to include rust-lang/libc#282 so that rust's std lib works on android's aarch64 (the main issue there was incorrect structure alignment on 64-bit arm). r? @alexcrichton
target_env
to "gnu" to empty "" for all android targets because it does not matter for android.+neon,+fp-armv8
because they must exist onaarch64
android.r? @alexcrichton