Index: build/common.gypi |
diff --git a/build/common.gypi b/build/common.gypi |
index 9c1d9dbdd965d46f33e2e23d43d382ac138320c9..da77d123970292931aa5b36475a82ade1cd1886a 100644 |
--- a/build/common.gypi |
+++ b/build/common.gypi |
@@ -983,6 +983,11 @@ |
# See http://msdn.microsoft.com/en-us/library/aa985982(v=VS.80).aspx |
'win_debug_disable_iterator_debugging%': '0', |
+ # Tri-state: blank is VS default, 1 on, 0 off |
+ 'win_release_RandomizedBaseAddress%': '1', |
Sigurður Ásgeirsson
2012/01/10 20:18:34
You set this to a stringified-one '1' here, but th
Derek Bruening
2012/01/10 20:48:53
Right, I will change this to numeric.
M-A Ruel
2012/01/10 21:02:00
I must say I'm unhappy about that, that's why I fi
|
+ # Tri-state: blank is VS default, 1 on, 0 off. Off by default: see below. |
+ 'win_debug_RandomizedBaseAddress%': '0', |
+ |
'release_extra_cflags%': '', |
'debug_extra_cflags%': '', |
'release_valgrind_build%': 0, |
@@ -1517,15 +1522,27 @@ |
}, |
'VCLinkerTool': { |
'LinkIncremental': '<(msvs_debug_link_incremental)', |
- # ASLR makes debugging with windbg difficult because Chrome.exe and |
- # Chrome.dll share the same base name. As result, windbg will |
- # name the Chrome.dll module like chrome_<base address>, where |
- # <base address> typically changes with each launch. This in turn |
- # means that breakpoints in Chrome.dll don't stick from one launch |
- # to the next. For this reason, we turn ASLR off in debug builds. |
- # Note that this is a three-way bool, where 0 means to pick up |
- # the default setting, 1 is off and 2 is on. |
- 'RandomizedBaseAddress': 1, |
+ 'conditions': [ |
+ # ASLR makes debugging with windbg difficult because Chrome.exe |
+ # and Chrome.dll share the same base name. As result, windbg will |
+ # name the Chrome.dll module like chrome_<base address>, where |
+ # <base address> typically changes with each launch. This in turn |
+ # means that breakpoints in Chrome.dll don't stick from one launch |
+ # to the next. For this reason, we turn ASLR off in debug builds. |
+ # Note that this is a three-way bool, where 0 means to pick up |
+ # the default setting, 1 is off and 2 is on. |
+ # Also note that an explicit /dynamicbase linker flag will |
+ # override this setting. |
+ |
+ # If win_debug_RandomizedBaseAddress is blank, leave as default |
+ # (that's VS default: off for VS2008, on for VS2010). |
+ ['win_debug_RandomizedBaseAddress==1', { |
Sigurður Ásgeirsson
2012/01/10 20:18:34
did you intend 'win_debug_RandomizedBaseAddress=="
Derek Bruening
2012/01/10 20:48:53
Above should be numeric.
|
+ 'RandomizedBaseAddress': 2, |
+ }], |
+ ['win_debug_RandomizedBaseAddress==0', { |
+ 'RandomizedBaseAddress': 1, |
+ }], |
+ ], |
}, |
'VCResourceCompilerTool': { |
'PreprocessorDefinitions': ['_DEBUG'], |
@@ -1604,6 +1621,16 @@ |
# information is used by the Syzygy optimization tool when |
# decomposing the release image. |
'Profile': 'true', |
+ 'conditions': [ |
+ # If win_release_RandomizedBaseAddress is blank, leave as default. |
+ # For RandomizedBaseAddress: 0=default, 1=off, 2=on |
+ ['win_release_RandomizedBaseAddress==1', { |
+ 'RandomizedBaseAddress': 2, |
+ }], |
+ ['win_release_RandomizedBaseAddress==0', { |
+ 'RandomizedBaseAddress': 1, |
+ }], |
+ ], |
}, |
}, |
'conditions': [ |
@@ -2745,7 +2772,6 @@ |
'VCLinkerTool': { |
'AdditionalOptions': [ |
'/safeseh', |
- '/dynamicbase', |
'/ignore:4199', |
'/ignore:4221', |
'/nxcompat', |
@@ -2758,7 +2784,6 @@ |
'VCLinkerTool': { |
'AdditionalOptions': [ |
# safeseh is not compatible with x64 |
- '/dynamicbase', |
'/ignore:4199', |
'/ignore:4221', |
'/nxcompat', |