2010-01-07 16:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* INSTALL
    * Updated valgrind example.

  * contrib/hbnetio/utils/netiosrv.hbp
  * utils/hbformat/hbformat.hbp
  * utils/hbmk2/hbmk2.hbp
  * utils/hbi18n/hbi18n.hbp
  * utils/hbtest/hbtest.hbp
  * utils/hbrun/hbrun.hbp
  * config/wce/msvcarm.mk
  * config/win/msvc.mk
    + Added MSVC linker switches to enhance security by 
      enabling NX compatibility and ASLR.
      Especially important for server apps like netiosrv and hbrun.
    ; TODO: Enable the same for MinGW.
    ; TOCHECK: Please test this with old MSVC versions and MSVCARM, 
               maybe we will need to disable them in some cases.
    ; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it 
                to increase security?

  * config/wce/msvcarm.mk
    + Changed to use link.exe for linking instead of cl[arm].exe.
      This now syncs it with rest of Harbour.
This commit is contained in:
Viktor Szakats
2010-01-07 15:03:47 +00:00
parent 3216c67731
commit cee6162783
10 changed files with 48 additions and 5 deletions

View File

@@ -17,6 +17,31 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-01-07 16:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
* Updated valgrind example.
* contrib/hbnetio/utils/netiosrv.hbp
* utils/hbformat/hbformat.hbp
* utils/hbmk2/hbmk2.hbp
* utils/hbi18n/hbi18n.hbp
* utils/hbtest/hbtest.hbp
* utils/hbrun/hbrun.hbp
* config/wce/msvcarm.mk
* config/win/msvc.mk
+ Added MSVC linker switches to enhance security by
enabling NX compatibility and ASLR.
Especially important for server apps like netiosrv and hbrun.
; TODO: Enable the same for MinGW.
; TOCHECK: Please test this with old MSVC versions and MSVCARM,
maybe we will need to disable them in some cases.
; QUESTION: I'm unsure of -fixed:no MSVC option. Do we need it
to increase security?
* config/wce/msvcarm.mk
+ Changed to use link.exe for linking instead of cl[arm].exe.
This now syncs it with rest of Harbour.
2010-01-07 14:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbnetio/netiocli.c
! use hb_vmAtInit() to initialize NETIO - looks that winsock

View File

@@ -692,7 +692,7 @@ HARBOUR
$ hbmk2 myapp -debug
Run app with:
$ valgrind --tool=memcheck --leak-check=yes -v ./myapp 2> myapp.log
$ valgrind --tool=memcheck --leak-check=yes --num-callers=16 -v ./myapp 2> myapp.log
CodeGuard (on win/bcc target only)
---------

View File

@@ -60,15 +60,15 @@ ifeq ($(HB_BUILD_DEBUG),yes)
DFLAGS += -debug
endif
LD := $(CC)
LD_OUT := -Fe
LD := link.exe
LD_OUT := -out:
SYSLIBS += corelibc
LIBPATHS := -libpath:$(LIB_DIR)
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -nologo -link -subsystem:windowsce -nodefaultlib:oldnames.lib -nodefaultlib:kernel32.lib
LDFLAGS += -nologo -nxcompat -dynamicbase -subsystem:windowsce -nodefaultlib:oldnames.lib -nodefaultlib:kernel32.lib
ifeq ($(filter $(HB_COMPILER_VER),600 700 710),)
LDFLAGS += -manifest:no
endif

View File

@@ -73,7 +73,7 @@ LD_OUT := -out:
LIBPATHS := -libpath:$(LIB_DIR)
LDLIBS := $(foreach lib,$(HB_USER_LIBS) $(LIBS) $(SYSLIBS),$(lib)$(LIB_EXT))
LDFLAGS += -nologo $(LIBPATHS)
LDFLAGS += -nologo -nxcompat -dynamicbase $(LIBPATHS)
AR := lib.exe
AR_RULE = $(AR) $(ARFLAGS) $(HB_USER_AFLAGS) -nologo -out:$(LIB_DIR)/$@ $(^F) || $(RM) $(LIB_DIR)/$@

View File

@@ -6,3 +6,6 @@ netiosrv.prg
-o{!dos&x86}hbnetio_${hb_plat}
-o{!dos&!x86}hbnetio_${hb_plat}_${hb_cpu}
-o{dos}hbnetio
-ldflag={allmsvc}-nxcompat
-ldflag={allmsvc}-dynamicbase

View File

@@ -4,6 +4,9 @@
-q0 -w3 -es2 -kmo -l
-ldflag={allmsvc}-nxcompat
-ldflag={allmsvc}-dynamicbase
-nulrdd
hbformat.prg
hbformac.c

View File

@@ -4,5 +4,8 @@
-q0 -w3 -es2 -kmo -l
-ldflag={allmsvc}-nxcompat
-ldflag={allmsvc}-dynamicbase
-nulrdd
hbi18n.prg

View File

@@ -4,6 +4,9 @@
-q0 -w3 -es2 -kmo -l
-ldflag={allmsvc}-nxcompat
-ldflag={allmsvc}-dynamicbase
-nulrdd
-mt
hbmk2.prg

View File

@@ -4,6 +4,9 @@
-q0 -w3 -es2 -kmo -l
-ldflag={allmsvc}-nxcompat
-ldflag={allmsvc}-dynamicbase
hbrun.prg
-lhbcplr

View File

@@ -4,6 +4,9 @@
-q0 -w3 -es2 -kmo
-ldflag={allmsvc}-nxcompat
-ldflag={allmsvc}-dynamicbase
hbtest.prg
rt_array.prg
rt_date.prg