Skip to content

Commit 598b6c3

Browse files
ismailgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Johannes Schindelin <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 6a6c0f1 commit 598b6c3

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

config.mak.uname

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,10 +578,12 @@ else
578578
ifeq (MINGW32,$(MSYSTEM))
579579
prefix = /mingw32
580580
HOST_CPU = i686
581+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,_mainCRTStartup
581582
endif
582583
ifeq (MINGW64,$(MSYSTEM))
583584
prefix = /mingw64
584585
HOST_CPU = x86_64
586+
BASIC_LDFLAGS += -Wl,--pic-executable,-e,mainCRTStartup
585587
else
586588
COMPAT_CFLAGS += -D_USE_32BIT_TIME_T
587589
BASIC_LDFLAGS += -Wl,--large-address-aware

0 commit comments

Comments
 (0)