On 16 April 2017 at 05:18, Andres Freund <andres@anarazel.de> wrote:
> Because of ASLR of the main executable (i.e. something like PIE). It'll
> supposedly become harder (as in only running in compatibility modes) if
> binaries don't enable that. It's currently disabled somewhere in the VC
> project generated.
I thought we passed /DYNAMICBASE:NO directly , but I don't see that in
the code. A look at the git logs shows that we disabled it in
7f3e17b48 by emitting
<RandomizedBaseAddress>false</RandomizedBaseAddress> in the MSBuild
project. That'll pass /DYNAMICBASE:NO to the linker.
See https://msdn.microsoft.com/en-us/library/bb384887.aspx
It's rather better than the old registry hack, but it's a compat
option we're likely to lose at some point.
-- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services