From: =?UTF-8?q?=C4=B0smail=20D=C3=B6nmez?= <ism...@i10z.com>

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 <ism...@i10z.com>
Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
---
 config.mak.uname | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/config.mak.uname b/config.mak.uname
index b37fa8424c..e7c7d14e5f 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -573,10 +573,12 @@ else
                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
-- 
gitgitgadget

Reply via email to