aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMagnus Hagander <magnus@hagander.net>2014-02-18 14:45:58 +0100
committerMagnus Hagander <magnus@hagander.net>2014-02-18 14:45:58 +0100
commit7f3e17b4827b61ad84e0774e3e43da4c57c4487f (patch)
tree8e13b1077c155a2ca8bc0888200a1e27fd180255 /src
parent057152b37c8dbbddf87de2be32314a3d4fec5d5e (diff)
downloadpostgresql-7f3e17b4827b61ad84e0774e3e43da4c57c4487f.tar.gz
postgresql-7f3e17b4827b61ad84e0774e3e43da4c57c4487f.zip
Disable RandomizedBaseAddress on MSVC builds
The ASLR in Windows 8/Windows 2012 can break PostgreSQL's shared memory. It doesn't fail every time (which is explained by the Random part in ASLR), but can fail with errors abut failing to reserve shared memory region. MauMau, reviewed by Craig Ringer
Diffstat (limited to 'src')
-rw-r--r--src/tools/msvc/MSBuildProject.pm1
-rw-r--r--src/tools/msvc/VCBuildProject.pm1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
index 82337c81744..3bdd8a1a6d4 100644
--- a/src/tools/msvc/MSBuildProject.pm
+++ b/src/tools/msvc/MSBuildProject.pm
@@ -324,6 +324,7 @@ sub WriteItemDefinitionGroup
<ProgramDatabaseFile>.\\$cfgname\\$self->{name}\\$self->{name}.pdb</ProgramDatabaseFile>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>.\\$cfgname\\$self->{name}\\$self->{name}.map</MapFileName>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
<SubSystem>Console</SubSystem>
<TargetMachine>$targetmachine</TargetMachine>
EOF
diff --git a/src/tools/msvc/VCBuildProject.pm b/src/tools/msvc/VCBuildProject.pm
index 1713cb5e3f8..335a1f016d5 100644
--- a/src/tools/msvc/VCBuildProject.pm
+++ b/src/tools/msvc/VCBuildProject.pm
@@ -190,6 +190,7 @@ EOF
StackReserveSize="4194304" DisableSpecificWarnings="$self->{disablewarnings}"
GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\\$cfgname\\$self->{name}\\$self->{name}.pdb"
GenerateMapFile="FALSE" MapFileName=".\\$cfgname\\$self->{name}\\$self->{name}.map"
+ RandomizedBaseAddress="FALSE"
SubSystem="1" TargetMachine="$targetmachine"
EOF
if ($self->{disablelinkerwarnings})