ECN-4562 x64 HIGHENTROPYVA support for x64 native code on Windows

RPI Number: 1114052

Product: ACUCOBOL-GT

Module: runtime

Machines Affected: All 64-bit

Known Versions Affected: 10.2.x

DESCRIPTION:

Previously, on some Windows machines, 64-bit programs would crash when loaded into memory beyond the first four gigabytes. The only known cases of this have occurred on Windows 10 machines using 'patched' versions of extend 10.2.0, or when external executables started the extend runtime by calling its .dll.

The problem was due to a new Windows feature called HIGHENTROPYVA, an anti-hacking feature that randomizes load addresses and tends to put programs in the upper half of the x64 address space.

In extend 10.2.x, HIGHENTROPYVA was not supported; it was explicitly turned off. Now, in extend 10.3.0, this feature is being turned on. The result of this is that Windows x64 native object files compiled in version 10.2.x are now incompatible with the current runtime, and must be recompiled.

If you attempt to run an incompatible x64 program in extend 10.3.0, an error is generated, stating that the contained code is for a different processor family.

Note: Linux/UNIX x64 programs do not require recompilation.