summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/common.gypi6
-rw-r--r--chrome/chrome_exe.gypi18
2 files changed, 19 insertions, 5 deletions
diff --git a/build/common.gypi b/build/common.gypi
index 0065483..65e6a65 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -1196,11 +1196,15 @@
# 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=safe',
+ '-Wl,--icf=none',
]
}]
]
diff --git a/chrome/chrome_exe.gypi b/chrome/chrome_exe.gypi
index d336894..75695d6 100644
--- a/chrome/chrome_exe.gypi
+++ b/chrome/chrome_exe.gypi
@@ -194,11 +194,21 @@
],
},
],
- # TODO(rkc): Remove this once we have a fix for remote gdb
- # and are able to correctly get section header offsets for
- # pie executables. Currently -pie breaks remote debugging.
+ # TODO(rkc): Remove disable_pie (and instead always use
+ # -pie) once we have a fix for remote gdb and are able to
+ # correctly get section header offsets for pie
+ # executables. Currently -pie breaks remote debugging.
['disable_pie==1', {
- 'ldflags' : ['-nopie'],
+ 'ldflags': ['-nopie'],
+ }, {
+ # Building with -fPIE fails on ARM and ia32 bots.
+ # http://code.google.com/p/chromium/issues/detail?id=57908
+ # Until that is fixed, at least use it on Linux 64-bit.
+ 'conditions': [
+ ['target_arch=="x64"', {
+ 'ldflags': ['-pie'],
+ }],
+ ],
}],
['use_system_xdg_utils==0', {
'copies': [