]> git.lizzy.rs Git - rust.git/commit
rustc: Always emit `uwtable` on Android
authorAlex Crichton <alex@alexcrichton.com>
Thu, 19 Apr 2018 22:17:34 +0000 (15:17 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Sat, 21 Apr 2018 15:38:44 +0000 (08:38 -0700)
commitf7439a5a4565b86b934610aafa9c69b9c53b672b
treefe2fd568f85cabdc250e026c26fea845ea466e77
parente59f78fb45f7db129f1b1a016da65a5b270220d9
rustc: Always emit `uwtable` on Android

Long ago (#40549) we enabled the `uwtable` attribute on Windows by default
(even with `-C panic=abort`) to allow unwinding binaries for [stack unwinding
information][winstack]. It looks like this same issue is [plaguing][arm1]
Gecko's Android platforms [as well][arm2]. This commit applies the same fix
as #40549 except that this time it's applied for all Android targets.

Generating a `-C panic=abort` binary for `armv7-linux-androideabi` before this
commit generated a number of `cantunwind` functions (detected with `readelf -u`)
but after this commit they all list appropriate unwind information.

Closes #49867

[winstack]: https://bugzilla.mozilla.org/show_bug.cgi?id=1302078
[arm1]: https://bugzilla.mozilla.org/show_bug.cgi?id=1453220
[arm2]: https://bugzilla.mozilla.org/show_bug.cgi?id=1451741
src/librustc_back/target/android_base.rs
src/librustc_back/target/mod.rs
src/librustc_back/target/windows_base.rs
src/librustc_back/target/windows_msvc_base.rs
src/librustc_trans/base.rs
src/test/codegen/nounwind.rs