mingw: do not let ld strip relocations

This is the first step for enabling ASLR (Address Space Layout Randomization) support. We want to enable ASLR for better protection against exploiting security holes in Git: it makes it harder to attack software by making code addresses unpredictable. The problem fixed by this commit is that `ld.exe` seems to be stripping relocations which in turn will break ASLR support. We just make sure it's not stripping the main executable entry. Signed-off-by: İsmail Dönmez <ismail@i10z.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

İsmail Dönmez committed May 8, 2019 at 04:30 UTC 598b6c3a9270e7bd2379fc6084a6ddf694c0f8ea
1 file changed +2
config.mak.uname
+2
@@ -578,10 +578,12 @@ else
578 ifeq (MINGW32,$(MSYSTEM))
579 prefix = /mingw32
580 HOST_CPU = i686
581 + BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
582 endif
583 ifeq (MINGW64,$(MSYSTEM))
584 prefix = /mingw64
585 HOST_CPU = x86_64
586 + BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
587 else
588 COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
589 BASIC_LDFLAGS += -Wl,--large-address-aware