| Index: build/common.gypi
|
| diff --git a/build/common.gypi b/build/common.gypi
|
| index 847a3330c23e944ed445b3eb75f061fc0791a9ce..5c5847e2fe512c032c5b4dab20f0d739aebfd682 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
|
|
|