diff options
-rw-r--r-- | build/common.gypi | 6 | ||||
-rw-r--r-- | chrome/chrome_exe.gypi | 18 |
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': [ |