Skip to content

Commit a6f1731

Browse files
Copilotlaeubi
authored andcommitted
Enable Control Flow Guard in Windows executables
Add /guard:cf flag to compilation and linking steps in make_win64.mak to enable Control Flow Guard protection. Stack protection with -GS flag was already enabled. Fixes #851
1 parent a14b0fb commit a6f1731

File tree

1 file changed

+4
-4
lines changed
  • features/org.eclipse.equinox.executable.feature/library/win32

1 file changed

+4
-4
lines changed

features/org.eclipse.equinox.executable.feature/library/win32/make_win64.mak

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ DLL_OBJS = eclipse.obj eclipseWin.obj eclipseUtil.obj eclipseJNI.obj eclipseS
4949

5050
cdebug = -Ox -DNDEBUG
5151
cvarsmt = -D_MT -MT
52-
cflags = $(cdebug) -DUNICODE -D_UNICODE -DCOBJMACROS /c -DUSE_ASSEMBLER -GS -DWIN64 -D_WIN64 $(cvarsmt) $(CFLAGS)
52+
cflags = $(cdebug) -DUNICODE -D_UNICODE -DCOBJMACROS /c -DUSE_ASSEMBLER -GS /guard:cf -DWIN64 -D_WIN64 $(cvarsmt) $(CFLAGS)
5353
LIBS = kernel32.lib user32.lib comctl32.lib libcmt.lib \
5454
libvcruntime.lib libucrt.lib ole32.lib windowscodecs.lib
5555
DLL_LIBS = kernel32.lib user32.lib comctl32.lib gdi32.lib Advapi32.lib libcmt.lib version.lib \
5656
libvcruntime.lib libucrt.lib ole32.lib windowscodecs.lib
57-
LFLAGS = /DYNAMICBASE /NXCOMPAT /HIGHENTROPYVA /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup
58-
CONSOLEFLAGS = /DYNAMICBASE /NXCOMPAT /HIGHENTROPYVA /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup
57+
LFLAGS = /DYNAMICBASE /NXCOMPAT /HIGHENTROPYVA /guard:cf /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:windows -entry:wmainCRTStartup
58+
CONSOLEFLAGS = /DYNAMICBASE /NXCOMPAT /HIGHENTROPYVA /guard:cf /NODEFAULTLIB /INCREMENTAL:NO /RELEASE /NOLOGO -subsystem:console -entry:wmainCRTStartup
5959
#DLL_LFLAGS = /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -entry:_DllMainCRTStartup@12 -dll /BASE:0x72000000 /DLL
60-
DLL_LFLAGS = /DYNAMICBASE /NXCOMPAT /HIGHENTROPYVA /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -dll /BASE:0x140000000 /DLL
60+
DLL_LFLAGS = /DYNAMICBASE /NXCOMPAT /HIGHENTROPYVA /guard:cf /NODEFAULTLIB /INCREMENTAL:NO /PDB:NONE /RELEASE /NOLOGO -dll /BASE:0x140000000 /DLL
6161
RES = $(PROGRAM_NAME).res
6262
EXEC = $(PROGRAM_OUTPUT)
6363
CONSOLE = $(PROGRAM_NAME)c.exe

0 commit comments

Comments
 (0)