Index: build/config/compiler/compiler.gni |
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni |
index 88ea3d2b0fc1f40866da2785102a49fe880ba317..bc0a6e41944b7e68b40489bc0894f710a957d13a 100644 |
--- a/build/config/compiler/compiler.gni |
+++ b/build/config/compiler/compiler.gni |
@@ -6,6 +6,7 @@ import("//build/config/android/config.gni") |
import("//build/config/chrome_build.gni") |
import("//build/config/chromecast_build.gni") |
import("//build/config/sanitizers/sanitizers.gni") |
+import("//build/toolchain/toolchain.gni") |
declare_args() { |
# How many symbols to include in the build. This affects the performance of |
@@ -33,6 +34,16 @@ declare_args() { |
full_wpo_on_official = false |
} |
+declare_args() { |
+ # TODO: We should be using 64-bit gold for linking on both 64-bit Linux |
+ # and 32-bit linux; 32-bit Gold runs out of address-space on 32-bit builds. |
+ # However, something isn't quite working right on the 32-bit builds. |
+ use_gold = !use_lld && |
+ ((is_linux && (current_cpu == "x64" || current_cpu == "arm")) || |
+ (is_android && (current_cpu == "x86" || current_cpu == "x64" || |
+ current_cpu == "arm"))) |
+} |
+ |
# If it wasn't manually set, set to an appropriate default. |
assert(symbol_level >= -1 && symbol_level <= 2, "Invalid symbol_level") |
if (symbol_level == -1) { |