Skip to content

Commit

Permalink
Enable DEP and ASLR
Browse files Browse the repository at this point in the history
Enable DEP (Data Execution Prevention) and ASLR (Address Space Layout
Randomization) support. This applies to both 32bit and 64bit builds
and makes it substantially harder to exploit security holes in Git by
offering a much more unpredictable attack surface.

ASLR interferes with GDB's ability to set breakpoints. A similar issue
holds true when compiling with -O2 (in which case single-stepping is
messed up because GDB cannot map the code back to the original source
code properly). Therefore we simply enable ASLR only when an
optimization flag is present in the CFLAGS, using it as an indicator
that the developer does not want to debug in GDB anyway.

Signed-off-by: İsmail Dönmez <[email protected]>
Signed-off-by: Johannes Schindelin <[email protected]>
  • Loading branch information
ismail authored and dscho committed May 10, 2019
1 parent 1118183 commit 0082d5a
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions config.mak.uname
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,12 @@ else
ifneq ($(shell expr "$(uname_R)" : '1\.'),2)
# MSys2
prefix = /usr/
# Enable DEP
BASIC_LDFLAGS += -Wl,--nxcompat
# Enable ASLR (unless debugging)
ifneq (,$(findstring -O,$(CFLAGS)))
BASIC_LDFLAGS += -Wl,--dynamicbase
endif
ifeq (MINGW32,$(MSYSTEM))
prefix = /mingw32
HOST_CPU = i686
Expand Down

0 comments on commit 0082d5a

Please sign in to comment.