Skip to content

Commit 7037fad

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 13ce1bd + cd9f41d commit 7037fad

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
@@ -570,13 +570,21 @@ else
570570
ifneq ($(shell expr "$(uname_R)" : '1\.'),2)
571571
# MSys2
572572
prefix = /usr/
573+
# Enable DEP
574+
BASIC_LDFLAGS += -Wl,--nxcompat
575+
# Enable ASLR (unless debugging)
576+
ifneq (,$(findstring -O,$(CFLAGS)))
577+
BASIC_LDFLAGS += -Wl,--dynamicbase
578+
endif
573579
ifeq (MINGW32,$(MSYSTEM))
574580
prefix = /mingw32
575581
HOST_CPU = i686
582+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
576583
endif
577584
ifeq (MINGW64,$(MSYSTEM))
578585
prefix = /mingw64
579586
HOST_CPU = x86_64
587+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
580588
else
581589
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
582590
BASIC_LDFLAGS += -Wl,--large-address-aware

0 commit comments

Comments
 (0)