diff options
author | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-09 03:06:06 +0000 |
---|---|---|
committer | csilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-09 03:06:06 +0000 |
commit | e1ca591731de3a0ca3cf109e3591c8dc14b029b1 (patch) | |
tree | 9981ee32f1df0d8b1efebfac8922c2b38697801e /build | |
parent | 48178fda44b18b441b41535e6110bf8993fd8a32 (diff) | |
download | chromium_src-e1ca591731de3a0ca3cf109e3591c8dc14b029b1.zip chromium_src-e1ca591731de3a0ca3cf109e3591c8dc14b029b1.tar.gz chromium_src-e1ca591731de3a0ca3cf109e3591c8dc14b029b1.tar.bz2 |
Revert 121068 - linux: add a use_gold flag that defaults to on
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: http://codereview.chromium.org/9316110
TBR=evan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9368015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121165 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/common.gypi | 48 |
1 files changed, 19 insertions, 29 deletions
diff --git a/build/common.gypi b/build/common.gypi index 5c5847e..847a333 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -387,16 +387,12 @@ 'enable_plugin_installation%': 1, }], - # 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. + # Set to 0 to not use third_party/gold as the linker. # 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. @@ -464,7 +460,6 @@ '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, @@ -636,8 +631,6 @@ # 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, @@ -1009,8 +1002,7 @@ 'release_extra_cflags%': '', 'debug_extra_cflags%': '', - - 'release_valgrind_build%': '<(release_valgrind_build)', + 'release_valgrind_build%': 0, # the non-qualified versions are widely assumed to be *nix-only 'win_release_extra_cflags%': '', @@ -1733,7 +1725,23 @@ '-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': { @@ -1999,24 +2007,6 @@ '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 |