diff options
author | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-09 03:49:00 +0000 |
---|---|---|
committer | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-09 03:49:00 +0000 |
commit | 8d726a460fb2d384c1071655c40122734aa30511 (patch) | |
tree | 1fbaf4d66e0616774d2b9e45b8dfe2a15ca28a93 /build | |
parent | dbec63036d72f1bd2abcedbc0fb203010322b625 (diff) | |
download | chromium_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.gypi | 48 |
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 |