summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorcsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-09 03:49:00 +0000
committercsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-09 03:49:00 +0000
commit8d726a460fb2d384c1071655c40122734aa30511 (patch)
tree1fbaf4d66e0616774d2b9e45b8dfe2a15ca28a93 /build
parentdbec63036d72f1bd2abcedbc0fb203010322b625 (diff)
downloadchromium_src-8d726a460fb2d384c1071655c40122734aa30511.zip
chromium_src-8d726a460fb2d384c1071655c40122734aa30511.tar.gz
chromium_src-8d726a460fb2d384c1071655c40122734aa30511.tar.bz2
Revert 121165 - Revert 121068 - linux: add a use_gold flag that defaults to on
[This CL was backed out speculatively due to failures on the cros trunk bot. But this CL was not the cause of that problem, so I'm un-doing the revert.] Currently, gyp attempts to autodetect whether the linker supports the --icf flag. It's more predictable to just require the caller to specify whether they're using gold. As a first demonstration of this, drop LINKER_USES_ICF code in the Chrome build. (I'll follow up with a gyp patch to remove the LINKER_USES_ICF stuff in gyp.) Review URL: https://chromiumcodereview.appspot.com/9368015 TBR=evan@chromium.org Review URL: https://chromiumcodereview.appspot.com/9372012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121175 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r--build/common.gypi48
1 files changed, 29 insertions, 19 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 847a333..5c5847e 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -387,12 +387,16 @@
'enable_plugin_installation%': 1,
}],
- # Set to 0 to not use third_party/gold as the linker.
+ # linux_use_gold_binary: whether to use the binary checked into
+ # third_party/gold.
+ # linux_use_gold_flags: whether to use build flags that rely on gold.
# On by default for x64 Linux.
['host_arch=="x64"', {
'linux_use_gold_binary%': 1,
+ 'linux_use_gold_flags%': 1,
}, {
'linux_use_gold_binary%': 0,
+ 'linux_use_gold_flags%': 0,
}],
# Enable canvas_skia_skia.cc incrementally on different platforms.
@@ -460,6 +464,7 @@
'enable_web_intents_tag%': '<(enable_web_intents_tag)',
'enable_plugin_installation%': '<(enable_plugin_installation)',
'linux_use_gold_binary%': '<(linux_use_gold_binary)',
+ 'linux_use_gold_flags%': '<(linux_use_gold_flags)',
'use_canvas_skia_skia%': '<(use_canvas_skia_skia)',
# Whether to build for Wayland display server
'use_wayland%': 0,
@@ -631,6 +636,8 @@
# whether warnings are treated as errors.
'chromium_code%': 0,
+ 'release_valgrind_build%': 0,
+
# TODO(thakis): Make this a blacklist instead, http://crbug.com/101600
'enable_wexit_time_destructors%': 0,
@@ -1002,7 +1009,8 @@
'release_extra_cflags%': '',
'debug_extra_cflags%': '',
- 'release_valgrind_build%': 0,
+
+ 'release_valgrind_build%': '<(release_valgrind_build)',
# the non-qualified versions are widely assumed to be *nix-only
'win_release_extra_cflags%': '',
@@ -1725,23 +1733,7 @@
'-g',
],
}],
- # At gyp time, we test the linker for ICF support; this flag
- # is then provided to us by gyp. (Currently only gold supports
- # an --icf flag.)
- # There seems to be a conflict of --icf and -pie in gold which
- # can generate crashy binaries. As a security measure, -pie
- # takes precendence for now.
- ['LINKER_SUPPORTS_ICF==1 and release_valgrind_build==0', {
- 'target_conditions': [
- ['_toolset=="target"', {
- 'ldflags': [
- #'-Wl,--icf=safe',
- '-Wl,--icf=none',
- ]
- }]
- ]
- }],
- ]
+ ],
},
},
'variants': {
@@ -2007,6 +1999,24 @@
'defines': ['KEEP_SHADOW_STACKS'],
'cflags': ['-finstrument-functions'],
}],
+ ['linux_use_gold_flags==1', {
+ 'conditions': [
+ ['release_valgrind_build==0', {
+ 'target_conditions': [
+ ['_toolset=="target"', {
+ 'ldflags': [
+ # There seems to be a conflict of --icf and -pie
+ # in gold which can generate crashy binaries. As
+ # a security measure, -pie takes precendence for
+ # now.
+ #'-Wl,--icf=safe',
+ '-Wl,--icf=none',
+ ],
+ }],
+ ],
+ }],
+ ],
+ }],
['linux_use_gold_binary==1', {
'variables': {
# We pass the path to gold to the compiler. gyp leaves