summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorcsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-09 03:06:06 +0000
committercsilv@chromium.org <csilv@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-09 03:06:06 +0000
commite1ca591731de3a0ca3cf109e3591c8dc14b029b1 (patch)
tree9981ee32f1df0d8b1efebfac8922c2b38697801e /build
parent48178fda44b18b441b41535e6110bf8993fd8a32 (diff)
downloadchromium_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.gypi48
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