diff options
-rw-r--r-- | chrome/chrome_dll.gypi | 3 | ||||
-rw-r--r-- | chrome_elf/chrome_elf.gyp | 14 |
2 files changed, 14 insertions, 3 deletions
diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi index acad974..47e9304 100644 --- a/chrome/chrome_dll.gypi +++ b/chrome/chrome_dll.gypi @@ -144,7 +144,6 @@ }, 'msvs_settings': { 'VCLinkerTool': { - 'BaseAddress': '0x01c30000', 'ImportLibrary': '$(OutDir)\\lib\\chrome_dll.lib', # Set /SUBSYSTEM:WINDOWS for chrome.dll (for consistency). 'SubSystem': '2', @@ -154,6 +153,8 @@ 'UseLibraryDependencyInputs': "true", }], ['target_arch=="ia32"', { + # Don't set an x64 base address (to avoid breaking HE-ASLR). + 'BaseAddress': '0x01c30000', # Link against the XP-constrained user32 import library # instead of the platform-SDK provided one to avoid # inadvertently taking dependencies on post-XP user32 diff --git a/chrome_elf/chrome_elf.gyp b/chrome_elf/chrome_elf.gyp index 7eeae2b..0b612a8 100644 --- a/chrome_elf/chrome_elf.gyp +++ b/chrome_elf/chrome_elf.gyp @@ -57,7 +57,12 @@ ], 'msvs_settings': { 'VCLinkerTool': { - 'BaseAddress': '0x01c20000', + 'conditions': [ + ['target_arch=="ia32"', { + # Don't set an x64 base address (to avoid breaking HE-ASLR). + 'BaseAddress': '0x01c20000', + }], + ], # Set /SUBSYSTEM:WINDOWS. 'SubSystem': '2', 'AdditionalDependencies!': [ @@ -192,7 +197,12 @@ ], 'msvs_settings': { 'VCLinkerTool': { - 'BaseAddress': '0x01c10000', + 'conditions': [ + ['target_arch=="ia32"', { + # Don't set an x64 base address (to avoid breaking HE-ASLR). + 'BaseAddress': '0x01c20000', + }], + ], # Set /SUBSYSTEM:WINDOWS. 'SubSystem': '2', }, |