Skip to content

Commit 71b5323

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 9f347fd + 969563c commit 71b5323

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
@@ -574,13 +574,21 @@ else
574574
ifneq ($(shell expr "$(uname_R)" : '1\.'),2)
575575
# MSys2
576576
prefix = /usr/
577+
# Enable DEP
578+
BASIC_LDFLAGS += -Wl,--nxcompat
579+
# Enable ASLR (unless debugging)
580+
ifneq (,$(findstring -O,$(CFLAGS)))
581+
BASIC_LDFLAGS += -Wl,--dynamicbase
582+
endif
577583
ifeq (MINGW32,$(MSYSTEM))
578584
prefix = /mingw32
579585
HOST_CPU = i686
586+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
580587
endif
581588
ifeq (MINGW64,$(MSYSTEM))
582589
prefix = /mingw64
583590
HOST_CPU = x86_64
591+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
584592
else
585593
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
586594
BASIC_LDFLAGS += -Wl,--large-address-aware

0 commit comments

Comments
 (0)