Skip to content
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

std: Fix linking against signal on Android #32415

Merged
merged 1 commit into from
Apr 5, 2016

Commits on Apr 5, 2016

  1. std: Fix linking against signal on Android

    Currently the minimum supported Android version of the standard library is
    API level 18 (android-18). Back in those days [1] the `signal` function was
    just an inline wrapper around `bsd_signal`, but starting in API level
    android-20 the `signal` symbols was introduced [2]. Finally, in android-21
    the API `bsd_signal` was removed [3].
    
    Basically this means that if we want to be binary compatible with multiple
    Android releases (oldest being 18 and newest being 21) then we need to check
    for both symbols and not actually link against either.
    
    This was first discovered in rust-lang/libc#236 with a fix proposed in
    rust-lang/libc#237. I suspect that we'll want to accept rust-lang/libc#237 so
    Rust crates at large continue to be compatible with newer releases of Android
    and crates, like the standard library, that want to opt into older support can
    continue to do so via similar means.
    
    Closes rust-lang/libc#236
    
    [1]: https://chromium.googlesource.com/android_tools/+/20ee6d20/ndk/platforms/android-18/arch-arm/usr/include/signal.h
    [2]: https://chromium.googlesource.com/android_tools/+/fbd420/ndk_experimental/platforms/android-20/arch-arm/usr/include/signal.h
    [3]: https://chromium.googlesource.com/android_tools/+/20ee6d/ndk/platforms/android-21/arch-arm/usr/include/signal.h
    alexcrichton committed Apr 5, 2016
    Configuration menu
    Copy the full SHA
    9c462b8 View commit details
    Browse the repository at this point in the history