Index: build/config/compiler/BUILD.gn |
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn |
index 2f48477b9750977c999af1c6408cdb762ebba269..dd6a75e6c77ea3db8c50a37da73741d1bf5d1fe5 100644 |
--- a/build/config/compiler/BUILD.gn |
+++ b/build/config/compiler/BUILD.gn |
@@ -45,11 +45,8 @@ declare_args() { |
# Requires profiling to be set to true. |
enable_full_stack_frames_for_profiling = false |
- # TODO(GYP): 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 = |
- is_linux && (current_cpu == "x64" || current_cpu == "arm") && !use_lld |
+ use_gold = is_linux && (current_cpu == "x64" || current_cpu == "x86" || |
+ current_cpu == "arm") && !use_lld |
# When we are going to use gold we need to find it. |
# This is initialized below, after use_gold might have been overridden. |
@@ -336,8 +333,9 @@ config("compiler") { |
ldflags += [ "-fuse-ld=bfd" ] |
} |
- if (is_posix && (use_gold || (use_lld && !is_nacl)) && !using_sanitizer && |
- !(is_android && use_order_profiling)) { |
+ if (is_posix && |
+ ((use_gold && current_cpu != "x86") || (use_lld && !is_nacl)) && |
+ !using_sanitizer && !(is_android && use_order_profiling)) { |
ldflags += [ "-Wl,--icf=all" ] |
} |