summaryrefslogtreecommitdiff
path: root/config.mak.uname
diff options
context:
space:
mode:
authorİsmail Dönmez <ismail@i10z.com>2019-05-08 11:30:58 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-05-13 01:55:18 (GMT)
commit598b6c3a9270e7bd2379fc6084a6ddf694c0f8ea (patch)
treef14374cf74096b9c47da2f37f5eeef68884d5abd /config.mak.uname
parent6a6c0f10a70a6eb101c213b09ae82a9cad252743 (diff)
downloadgit-598b6c3a9270e7bd2379fc6084a6ddf694c0f8ea.zip
git-598b6c3a9270e7bd2379fc6084a6ddf694c0f8ea.tar.gz
git-598b6c3a9270e7bd2379fc6084a6ddf694c0f8ea.tar.bz2
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>
Diffstat (limited to 'config.mak.uname')
-rw-r--r--config.mak.uname2
1 files changed, 2 insertions, 0 deletions
diff --git a/config.mak.uname b/config.mak.uname
index d916d1d..01b390c 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -578,10 +578,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