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 |