-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
use PIE (full ASLR) by default on Android too #17448
Conversation
We can't just instantly drop backtrace support on android, this needs to at least be investigate somewhat to see why backtraces are broken on android. |
@alexcrichton: Rust currently has no support for current Android versions at all because they only run executables built with PIE. Lacking support for the platform is worse than lacking symbol names in backtraces. |
The Android bot needs to be updated in order for this to have a chance of working. It isn't going to be possible to upgrade it without using PIE, because Android no longer allows non-PIE. Anyway, there's nothing I can do about that so I'll leave this here to rot. |
Let's please slow down a bit here.
|
When did I say this? They work fine with PIE on Linux.
The NDK and Android version are out-of-date. Android has full support for PIE now and it became mandatory when there were no remaining problems. I know it's out-of-date because it's still working.
It doesn't break compatibility. |
So the problem at hand is that enabling PIE breaks backtraces on android, do you know why that happens? It sounds like you're not willing to investigate, why I asked the questions. |
It works fine with |
Building without PIE will still work fine for older versions of Android. The patch removing support for non-PIE isn't in any released version of Android yet. There have recently been a lot of unwinder fixes in AOSP as well. Is it possible that the unwinder tests would be fixed by those? |
@thestinger, have you manually verified that this test passes on an updated android compiler/client? I've tested manually against what I believe is r9d and both the test and the bundled gdb itself fail to get symbols or backtrace correctly. |
Android no longer permits non-PIE executables. Closes #17437
I think I accidentally did this in my branch, and I can confirm that the tests pass with r10c. |
Android no longer permits non-PIE executables.
Closes #17437