Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: build/config/compiler/BUILD.gn

Issue 503873004: linux: Always use (64bit) gold for linking, even on 32bit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gn Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« build/common.gypi ('K') | « build/common.gypi ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 if (cpu_arch == "arm") { 6 if (cpu_arch == "arm") {
7 import("//build/config/arm.gni") 7 import("//build/config/arm.gni")
8 } 8 }
9 if (is_posix) { 9 if (is_posix) {
10 import("//build/config/gcc/gcc_version.gni") 10 import("//build/config/gcc/gcc_version.gni")
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 "-Wl,-z,now", 176 "-Wl,-z,now",
177 "-Wl,-z,relro", 177 "-Wl,-z,relro",
178 ] 178 ]
179 } 179 }
180 180
181 # Linux-specific compiler flags setup. 181 # Linux-specific compiler flags setup.
182 # ------------------------------------ 182 # ------------------------------------
183 if (is_linux) { 183 if (is_linux) {
184 cflags += [ "-pthread" ] 184 cflags += [ "-pthread" ]
185 185
186 if (cpu_arch == "x64") { 186 # Use gold for linking on 64-bit Linux only (on 32-bit it runs out of
187 # Use gold for linking on 64-bit Linux only (on 32-bit it runs out of 187 # address space, and it doesn't support cross-compiling).
188 # address space, and it doesn't support cross-compiling). 188 gold_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin",
189 gold_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin", 189 root_build_dir)
190 root_build_dir) 190 ldflags += [
191 ldflags += [ 191 "-B$gold_path",
192 "-B$gold_path",
193 192
194 # There seems to be a conflict of --icf and -pie in gold which can 193 # There seems to be a conflict of --icf and -pie in gold which can
195 # generate crashy binaries. As a security measure, -pie takes 194 # generate crashy binaries. As a security measure, -pie takes
196 # precedence for now. 195 # precedence for now.
197 # TODO(brettw) common.gypi has this only for target toolset. 196 # TODO(brettw) common.gypi has this only for target toolset.
198 #"-Wl,--icf=safe", 197 #"-Wl,--icf=safe",
199 "-Wl,--icf=none", 198 "-Wl,--icf=none",
200 199
201 # Experimentation found that using four linking threads 200 # Experimentation found that using four linking threads
202 # saved ~20% of link time. 201 # saved ~20% of link time.
203 # https://groups.google.com/a/chromium.org/group/chromium-dev/browse_thr ead/thread/281527606915bb36 202 # https://groups.google.com/a/chromium.org/group/chromium-dev/browse_threa d/thread/281527606915bb36
204 # Only apply this to the target linker, since the host 203 # Only apply this to the target linker, since the host
205 # linker might not be gold, but isn't used much anyway. 204 # linker might not be gold, but isn't used much anyway.
206 # TODO(raymes): Disable threading because gold is frequently 205 # TODO(raymes): Disable threading because gold is frequently
207 # crashing on the bots: crbug.com/161942. 206 # crashing on the bots: crbug.com/161942.
208 #"-Wl,--threads", 207 #"-Wl,--threads",
209 #"-Wl,--thread-count=4", 208 #"-Wl,--thread-count=4",
210 ] 209 ]
211 }
212 210
213 ldflags += [ 211 ldflags += [
214 "-pthread", 212 "-pthread",
215 ] 213 ]
216 } 214 }
217 215
218 # Clang-specific compiler flags setup. 216 # Clang-specific compiler flags setup.
219 # ------------------------------------ 217 # ------------------------------------
220 if (is_clang) { 218 if (is_clang) {
221 cflags += [ 219 cflags += [
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 } else { 884 } else {
887 cflags = [ "-g1" ] 885 cflags = [ "-g1" ]
888 } 886 }
889 } 887 }
890 888
891 config("no_symbols") { 889 config("no_symbols") {
892 if (!is_win) { 890 if (!is_win) {
893 cflags = [ "-g0" ] 891 cflags = [ "-g0" ]
894 } 892 }
895 } 893 }
OLDNEW
« build/common.gypi ('K') | « build/common.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698