From: Junio C Hamano Date: Sun, 19 May 2019 07:45:27 +0000 (+0900) Subject: Merge branch 'id/windows-dep-aslr' X-Git-Tag: v2.22.0-rc1~30 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/f42bee7d51af9c339dfad8e854149810c34fb7d3?hp=-c 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 --- f42bee7d51af9c339dfad8e854149810c34fb7d3 diff --combined config.mak.uname index 19ce2f296a,6f92f4746e..b71688eeb7 --- a/config.mak.uname +++ b/config.mak.uname @@@ -272,7 -272,6 +272,7 @@@ ifeq ($(uname_S),AIX NEEDS_LIBICONV = YesPlease BASIC_CFLAGS += -D_LARGE_FILES FILENO_IS_A_MACRO = UnfortunatelyYes + NEED_ACCESS_ROOT_HANDLER = UnfortunatelyYes ifeq ($(shell expr "$(uname_V)" : '[1234]'),1) NO_PTHREADS = YesPlease else @@@ -576,13 -575,21 +576,21 @@@ els 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