summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMatthias Huetsch [mhu] <matthias.huetsch@oracle.com>2010-08-02 19:01:49 +0200
committerMatthias Huetsch [mhu] <matthias.huetsch@oracle.com>2010-08-02 19:01:49 +0200
commita572dbd314e59149ca8efb7f5e6334ed8138e76f (patch)
tree8e6732343a07cdf77e6a7671d02eaf35999c41ac /solenv
parentc8099f69bbbce2d15dde8a9077a975e72cc3c304 (diff)
mhu23 #i113531# use recommended Windows linker flags and DLL search path.
Diffstat (limited to 'solenv')
-rw-r--r--[-rwxr-xr-x]solenv/inc/set_wntx64.mk13
-rw-r--r--solenv/inc/wntmsci10.mk2
-rw-r--r--solenv/inc/wntmsci11.mk17
3 files changed, 29 insertions, 3 deletions
diff --git a/solenv/inc/set_wntx64.mk b/solenv/inc/set_wntx64.mk
index bf2ca9314f33..412fb3bd2821 100755..100644
--- a/solenv/inc/set_wntx64.mk
+++ b/solenv/inc/set_wntx64.mk
@@ -42,6 +42,10 @@ LIBMGR_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY) $(NOLOGO)
IMPLIB_X64=$(WRAPCMD) $(LIBMGR_X64_BINARY)
USE_CFLAGS_X64=-c -nologo -Gs $(NOLOGO) -Zm500 -Zc:forScope,wchar_t- -GR
+
+# Stack buffer overrun detection.
+CFLAGS+=-GS
+
USE_CDEFS_X64+= -DWIN32 -D_AMD64_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS
.IF "$(debug)"!=""
USE_CFLAGS_X64+=-Zi -Fd$(MISC_X64)/$(@:b).pdb
@@ -78,6 +82,15 @@ CDEFSOBJMT_X64+=-D_MT
LINKFLAGS_X64=/MAP /OPT:NOREF
.ENDIF
+# excetion handling protection
+LINKFLAGS+=-safeseh
+
+# enable DEP
+LINKFLAGS+=-nxcompat
+
+# enable ASLR
+LINKFLAGS+=-dynamicbase
+
.IF "$(PRODUCT)"!="full"
LINKFLAGS_X64+= -NODEFAULTLIB -DEBUG
.ELSE # "$(PRODUCT)"!="full"
diff --git a/solenv/inc/wntmsci10.mk b/solenv/inc/wntmsci10.mk
index 6ed8327c8506..5c959f7d0e3c 100644
--- a/solenv/inc/wntmsci10.mk
+++ b/solenv/inc/wntmsci10.mk
@@ -34,7 +34,7 @@ JAVAFLAGSDEBUG=-g
# SOLAR JAva Unterstuetzung nur fuer wntmsci
ASM=ml
-AFLAGS=/c /Cp /coff
+AFLAGS=/c /Cp /coff /safeseh
# architecture dependent flags for the C and C++ compiler that can be changed by
# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
diff --git a/solenv/inc/wntmsci11.mk b/solenv/inc/wntmsci11.mk
index b270a6a25cfe..972feb0a8fdc 100644
--- a/solenv/inc/wntmsci11.mk
+++ b/solenv/inc/wntmsci11.mk
@@ -34,7 +34,7 @@ JAVAFLAGSDEBUG=-g
# SOLAR JAva Unterstuetzung nur fuer wntmsci
ASM=ml
-AFLAGS=/c /Cp /coff
+AFLAGS=/c /Cp /coff /safeseh
# architecture dependent flags for the C and C++ compiler that can be changed by
# exporting the variable ARCH_FLAGS="..." in the shell, which is used to start build
@@ -82,6 +82,10 @@ COMPILE_ECHO_FILE=
# lookup":
# -wd4251 -wd4275 -wd4290 -wd4675 -wd4786 -wd4800
CFLAGS+=-Zm500 -Zc:forScope,wchar_t- -GR
+
+# Stack buffer overrun detection.
+CFLAGS+=-GS
+
CFLAGS+=-c -nologo -Gs $(NOLOGO)
CDEFS+= -D_X86_=1 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS
@@ -235,8 +239,17 @@ LINKOUTPUTFILTER= $(PIPEERROR) $(GREP) -v "LNK4197:"
LINKFLAGS=/MAP /OPT:NOREF
.ENDIF
+# excetion handling protection
+LINKFLAGS+=-safeseh
+
+# enable DEP
+LINKFLAGS+=-nxcompat
+
+# enable ASLR
+LINKFLAGS+=-dynamicbase
+
.IF "$(linkinc)" != ""
-LINKFLAGS=-NODEFAULTLIB -INCREMENTAL:YES -DEBUG
+LINKFLAGS+=-NODEFAULTLIB -INCREMENTAL:YES -DEBUG
MAPFILE=
_VC_MANIFEST_INC=1
.ELSE # "$(linkinc)" != ""