[llvm] eef8b74 - gn build: Unbreak Android cross-compilation.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 19 16:28:42 PDT 2021


Author: Peter Collingbourne
Date: 2021-03-19T16:28:24-07:00
New Revision: eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd

URL: https://github.com/llvm/llvm-project/commit/eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd
DIFF: https://github.com/llvm/llvm-project/commit/eef8b74ef5efd5265ad35c8d6ebdbfbe43e81bfd.diff

LOG: 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.

Added: 
    

Modified: 
    llvm/utils/gn/build/toolchain/target_flags.gni

Removed: 
    


################################################################################
diff  --git a/llvm/utils/gn/build/toolchain/target_flags.gni b/llvm/utils/gn/build/toolchain/target_flags.gni
index 0af52a0db6da..573e758a6d6f 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" ]


        


More information about the llvm-commits mailing list