]> granicus.if.org Git - postgresql/commitdiff
Disable RandomizedBaseAddress on MSVC builds
authorMagnus Hagander <magnus@hagander.net>
Tue, 18 Feb 2014 13:45:58 +0000 (14:45 +0100)
committerMagnus Hagander <magnus@hagander.net>
Tue, 18 Feb 2014 13:49:41 +0000 (14:49 +0100)
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

src/tools/msvc/MSBuildProject.pm
src/tools/msvc/VCBuildProject.pm

index 82337c81744453c095b4ed36ddd2ed947b023bf0..3bdd8a1a6d41fc321cf894b51e0d9c7a81a661a2 100644 (file)
@@ -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
index 1713cb5e3f808f6e4eef57eaffdaff2c1dfb1ca1..335a1f016d592cf593c30bc5425ea06174ec9649 100644 (file)
@@ -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})