Summary: Somehow clang now chooses slightly different arguments to pass to `ld` in the invocation that `ndk-build` makes to link: ``` --- clang7 2019-05-28 07:47:19.214949009 -0700 +++ clang8 2019-05-28 07:46:55.095924374 -0700 @@ -1,6 +1,15 @@ "/opt/android_ndk/r15c/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld" "--sysroot=/opt/android_ndk/r15c/platforms/android-21/arch-arm64" +"-EL" "--fix-cortex-a53-843419" +"-z" +"now" +"-z" +"relro" +"-z" +"max-page-size=4096" +"--hash-style=gnu" +"--hash-style=both" "--no-add-needed" "--enable-new-dtags" "--eh-frame-hdr" @@ -32,7 +41,7 @@ "--fatal-warnings" "-lc" "-lm" -"-lstdc++" +"-lc++" "-lm" "-lgcc" "-ldl" ``` In particular: - `lc++` results in `libc++.so` not found from the toolchain - the forced relocation `-z relro` fails with "/..//bin/ld: ./obj/local/arm64-v8a/objs/hello/__/hello.o: Relocations in generic ELF (EM: 183)" and other weirder errors Somehow pretending the C++ compiler is `clang` instead of `clang++` stops the insanity. Also add an Application.mk file to specify some sane defaults. Also add `V=1` to the `ndk-build` invocation in our tests so that when it fails we have a bit more to work with. Reviewed By: mbouaziz, martintrojer Differential Revision: D15518447 fbshipit-source-id: 40203814bmaster
parent
2c15245260
commit
4697b22fb4
@ -0,0 +1,5 @@
|
||||
# Copyright (c) 2019-present, Facebook, Inc.
|
||||
#
|
||||
# This source code is licensed under the MIT license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
APP_PLATFORM := android-21
|
Loading…
Reference in new issue