Skip to content

Commit 36389a0

Browse files
committed
Enable RandomizedBaseAddress (ASLR) on Windows with MSVC builds
This has as effect to add /DYNAMICBASE to the .dll and .exe files generated by the builds, undoing 7f3e17b. Note that ASLR was already enabled in MinGW as we have never added --disable-dynamicbase there. This change will ease a bit the integration of arm64 with MSVC, as ASLR support is mandatory in this case. So, thanks to this commit, we have no need to make ASLR conditional depending on the architecture used for the build. Andres Freund has done a lot of testing with this option while working on meson, without seeing /DYNAMICBASE as being a problem in the Windows builds of the CI. Personally, not supporting anything older than Windows 10 on HEAD makes me feel safer about this change, as we have seen ASLR with being a problem in process invocation particularly with Windows 8 and server 2012 back in 2014, even if Windows 10 was not really a thing back then. 45e004f is also something that can help in making the process invocation more stable. We are very early in the development of Postgres 16, giving a lot of room to detect stability issues if any. Discussion: https://postgr.es/m/20220826012907.gjw3jdqdgsts5y65@awork3.anarazel.de
1 parent 94077df commit 36389a0

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

src/tools/msvc/MSBuildProject.pm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,6 @@ sub WriteItemDefinitionGroup
347347
<ProgramDatabaseFile>.\\$cfgname\\$self->{name}\\$self->{name}.pdb</ProgramDatabaseFile>
348348
<GenerateMapFile>false</GenerateMapFile>
349349
<MapFileName>.\\$cfgname\\$self->{name}\\$self->{name}.map</MapFileName>
350-
<RandomizedBaseAddress>false</RandomizedBaseAddress>
351350
<!-- Permit links to MinGW-built, 32-bit DLLs (default before VS2012). -->
352351
<ImageHasSafeExceptionHandlers/>
353352
<SubSystem>Console</SubSystem>

0 commit comments

Comments
 (0)