summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2019-05-19 16:45:27 +0900
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-05-19 16:45:27 +0900
commitf42bee7d51af9c339dfad8e854149810c34fb7d3 (patch)
tree3c43bdd991b74706ef32dfa6aeb0a2f3e37c74a2
parentMerge branch 'ab/trace2-typofix' (diff)
parentmingw: enable DEP and ASLR (diff)
downloadtgif-f42bee7d51af9c339dfad8e854149810c34fb7d3.tar.xz
Merge branch 'id/windows-dep-aslr'
Allow DEP and ASLR for Windows build to for security hardening. * id/windows-dep-aslr: mingw: enable DEP and ASLR mingw: do not let ld strip relocations
-rw-r--r--config.mak.uname8
1 files changed, 8 insertions, 0 deletions
diff --git a/config.mak.uname b/config.mak.uname
index 19ce2f296a..b71688eeb7 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -576,13 +576,21 @@ else
ifneq ($(shell expr "$(uname_R)" : '1\.'),2)
# MSys2
prefix = /usr/
+ # Enable DEP
+ BASIC_LDFLAGS += -Wl,--nxcompat
+ # Enable ASLR (unless debugging)
+ ifneq (,$(findstring -O,$(filter-out -O0 -Og,$(CFLAGS))))
+ BASIC_LDFLAGS += -Wl,--dynamicbase
+ endif
ifeq (MINGW32,$(MSYSTEM))
prefix = /mingw32
HOST_CPU = i686
+ BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
endif
ifeq (MINGW64,$(MSYSTEM))
prefix = /mingw64
HOST_CPU = x86_64
+ BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
else
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
BASIC_LDFLAGS += -Wl,--large-address-aware