Skip to content

Commit 01bd2ef

Browse files
dschoGit for Windows Build Agent
authored andcommitted
Merge 'aslr' into HEAD
Address Space Layout Randomization (ASLR) allows executables' memory layout to change at random between runs, and therefore offers a quite decent protection against many attacks. We enable ASLR because MSYS2's C compiler offers support for ASLR, and whatever performance impact it has is neglible, according to https://insights.sei.cmu.edu/cert/2014/02/differences-between-aslr-on-windows-and-linux.html This merges the part of #612 that does not break Git ;-) This fixes #608 Signed-off-by: Johannes Schindelin <[email protected]>
2 parents 9996d93 + 005e8ac commit 01bd2ef

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

config.mak.uname

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,13 +575,21 @@ else
575575
ifneq ($(shell expr "$(uname_R)" : '1\.'),2)
576576
# MSys2
577577
prefix = /usr/
578+
# Enable DEP
579+
BASIC_LDFLAGS += -Wl,--nxcompat
580+
# Enable ASLR (unless debugging)
581+
ifneq (,$(findstring -O,$(CFLAGS)))
582+
BASIC_LDFLAGS += -Wl,--dynamicbase
583+
endif
578584
ifeq (MINGW32,$(MSYSTEM))
579585
prefix = /mingw32
580586
HOST_CPU = i686
587+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
581588
endif
582589
ifeq (MINGW64,$(MSYSTEM))
583590
prefix = /mingw64
584591
HOST_CPU = x86_64
592+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
585593
else
586594
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
587595
BASIC_LDFLAGS += -Wl,--large-address-aware

0 commit comments

Comments
 (0)