When using NDK r16 Beta 2 (16.0.4414007-beta2), compiling with clang still uses ld.bfd on aarch64 (aarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin/ld is aarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin/ld.bfd).
This makes -flto fail, but only on ARM64, because the linker does not recognize LLVM bitcode files. LTO works just fine on arm and x86.
When using NDK r16 Beta 2 (16.0.4414007-beta2), compiling with clang still uses ld.bfd on aarch64 (
aarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin/ldisaarch64-linux-android-4.9/prebuilt/darwin-x86_64/aarch64-linux-android/bin/ld.bfd).This makes
-fltofail, but only on ARM64, because the linker does not recognize LLVM bitcode files. LTO works just fine on arm and x86.