From eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 19 Mar 2021 16:23:30 -0700 Subject: [PATCH] gn build: Unbreak Android cross-compilation. - D96404 defaulted to libunwind which isn't provided by NDK r21 (or r22), so specify -rtlib=libgcc on non-arm32. - D97993 means that we need to use --gcc-toolchain instead of -B to let the driver find libgcc. --- llvm/utils/gn/build/toolchain/target_flags.gni | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/llvm/utils/gn/build/toolchain/target_flags.gni b/llvm/utils/gn/build/toolchain/target_flags.gni index 0af52a0..573e758 100644 --- a/llvm/utils/gn/build/toolchain/target_flags.gni +++ b/llvm/utils/gn/build/toolchain/target_flags.gni @@ -13,8 +13,11 @@ if (current_os == "android") { target_flags += [ "--target=$llvm_current_triple", "--sysroot=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64/sysroot", - "-B$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64", + "--gcc-toolchain=$android_ndk_path/toolchains/llvm/prebuilt/linux-x86_64", ] + if (current_cpu != "arm") { + target_flags += [ "-rtlib=libgcc" ] + } target_ldflags += [ "-static-libstdc++" ] if (current_cpu == "arm") { target_flags += [ "-march=armv7-a" ] -- 2.7.4