Skip to content

Commit e4d8d16

Browse files
dschoGit for Windows Build Agent
authored and
Git for Windows Build Agent
committed
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 <johannes.schindelin@gmx.de>
2 parents 4fae27e + 05f312e commit e4d8d16

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
@@ -576,13 +576,21 @@ else
576576
ifneq ($(shell expr "$(uname_R)" : '1\.'),2)
577577
# MSys2
578578
prefix = /usr/
579+
# Enable DEP
580+
BASIC_LDFLAGS += -Wl,--nxcompat
581+
# Enable ASLR (unless debugging)
582+
ifneq (,$(findstring -O,$(CFLAGS)))
583+
BASIC_LDFLAGS += -Wl,--dynamicbase
584+
endif
579585
ifeq (MINGW32,$(MSYSTEM))
580586
prefix = /mingw32
581587
HOST_CPU = i686
588+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
582589
endif
583590
ifeq (MINGW64,$(MSYSTEM))
584591
prefix = /mingw64
585592
HOST_CPU = x86_64
593+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
586594
else
587595
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
588596
BASIC_LDFLAGS += -Wl,--large-address-aware

0 commit comments

Comments
 (0)