VirtualBox

儲存庫 vbox 的更動 18422


忽略:
時間撮記:
2009-3-28 上午12:04:43 (16 年 以前)
作者:
vboxsync
訊息:

Makefiles,DIS: Cleanup of C++ exception options for the windows compilers. Also enabled read-only string pooling (-GF- isn't a documented option, -GF and -Gf are).

位置:
trunk
檔案:
修改 8 筆資料

圖例:

未更動
新增
刪除
  • trunk/Config.kmk

    r18421 r18422  
    19381938ifdef VBOX_USE_VCC80
    19391939 TEMPLATE_VBOXGC_TOOL               = VCC80X86
    1940  TEMPLATE_VBOXGC_CXXFLAGS           = -Zi -Zl -GR- -GS- -EHs-c- -GF- -W3 -wd4244 -wd4996 -Zc:wchar_t- -Gs8192 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
     1940 TEMPLATE_VBOXGC_CXXFLAGS           = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 -GS- -wd4996 -Zc:wchar_t- -Gs8192 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
    19411941else
    19421942 TEMPLATE_VBOXGC_TOOL               = VCC70
    1943  TEMPLATE_VBOXGC_CXXFLAGS           = -Zi -Zl -GR- -GX- -GF- -W3 -wd4244 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
     1943 TEMPLATE_VBOXGC_CXXFLAGS           = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
    19441944endif
    19451945TEMPLATE_VBOXGC_CFLAGS              = $(TEMPLATE_VBOXGC_CXXFLAGS)
     
    20592059TEMPLATE_VBOXR0_TOOL                = $(VBOX_VCC_TOOL)
    20602060ifdef VBOX_USE_VCC80
    2061  TEMPLATE_VBOXR0_CXXFLAGS           = -Zi -Zl -GR- -GS- -EHs-c- -GF- -W3 -wd4244 -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2061 TEMPLATE_VBOXR0_CXXFLAGS           = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 -GS- -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    20622062else
    2063  TEMPLATE_VBOXR0_CXXFLAGS           = -Zi -Zl -GR- -GX- -GF- -W3 -wd4244 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2063 TEMPLATE_VBOXR0_CXXFLAGS           = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    20642064endif
    20652065TEMPLATE_VBOXR0_CFLAGS              = $(TEMPLATE_VBOXR0_CXXFLAGS)
     
    21422142 TEMPLATE_VBOXR0DRV_DEFS.amd64         = _AMD64_
    21432143 ifdef VBOX_USE_VCC80
    2144   TEMPLATE_VBOXR0DRV_CXXFLAGS          = -Zi -Zl -GR- -GS- -EHs-c- -GF- -Gz -W3 -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2144  TEMPLATE_VBOXR0DRV_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -Gz -W3 -GS- -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    21452145 else
    2146   TEMPLATE_VBOXR0DRV_CXXFLAGS          = -Zi -Zl -GR- -GX- -GF- -Gz -W3 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2146  TEMPLATE_VBOXR0DRV_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -Gz -W3 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    21472147 endif
    21482148 TEMPLATE_VBOXR0DRV_CFLAGS             = $(TEMPLATE_VBOXR0DRV_CXXFLAGS)
     
    23742374 TEMPLATE_VBOXR3EXE_SDKS               = WINPSDK
    23752375 ifdef VBOX_USE_VCC80
    2376   TEMPLATE_VBOXR3EXE_CXXFLAGS          = -Zi -Zl -GR- -EHs-c- -GF- -MD -W3 -wd4065 -wd4244 -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2376  TEMPLATE_VBOXR3EXE_CXXFLAGS          = -Zi -Zl -GR- -EHsc -GF -MD -W3 -wd4065 -wd4244 -wd4996 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    23772377  TEMPLATE_VBOXR3EXE_CXXFLAGS.debug    = -RTCsu
    23782378 else
    2379   TEMPLATE_VBOXR3EXE_CXXFLAGS          = -Zi -Zl -GR- -GX- -GF- -MD -W3 -wd4065 -wd4244 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2379  TEMPLATE_VBOXR3EXE_CXXFLAGS          = -Zi -Zl -GR- -EHsc -GF -MD -W3 -wd4065 -wd4244 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    23802380  TEMPLATE_VBOXR3EXE_CXXFLAGS.debug    = -GZ
    23812381 endif
     
    24752475# Template for building R3 shared objects / DLLs.
    24762476# This is mostly identical to the VBOXR3EXE template. (Avoid PIC if possible!)
    2477 #
    2478 TEMPLATE_VBOXR3  = VBox Ring 3 SO/DLLs
    2479 TEMPLATE_VBOXR3_EXTENDS = VBOXR3EXE
    2480 TEMPLATE_VBOXR3_LDFLAGS.l4 = $(L4_LIBDIR)/../crt0.s.o -T$(L4_LIBDIR)/../main_rel.ld -nostdlib
    2481 TEMPLATE_VBOXR3_DEFS.l4     = $(TEMPLATE_VBOXR3EXE_DEFS.l4) __PIC__
    2482 TEMPLATE_VBOXR3_DEFS.darwin = $(TEMPLATE_VBOXR3EXE_DEFS.darwin) PIC
    2483 TEMPLATE_VBOXR3_LDFLAGS.darwin = $(TEMPLATE_VBOXR3EXE_LDFLAGS.darwin) -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
     2477#                                      -
     2478TEMPLATE_VBOXR3                        = VBox Ring 3 SO/DLLs
     2479TEMPLATE_VBOXR3_EXTENDS                = VBOXR3EXE
     2480TEMPLATE_VBOXR3_LDFLAGS.l4             = $(L4_LIBDIR)/../crt0.s.o -T$(L4_LIBDIR)/../main_rel.ld -nostdlib
     2481TEMPLATE_VBOXR3_DEFS.l4                = $(TEMPLATE_VBOXR3EXE_DEFS.l4) __PIC__
     2482TEMPLATE_VBOXR3_DEFS.darwin            = $(TEMPLATE_VBOXR3EXE_DEFS.darwin) PIC
     2483TEMPLATE_VBOXR3_LDFLAGS.darwin         = $(TEMPLATE_VBOXR3EXE_LDFLAGS.darwin) -current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
    24842484ifeq ($(filter-out solaris.x86 %.amd64,$(KBUILD_TARGET).$(KBUILD_TARGET_ARCH)),)
    24852485 ifn1of ($(KBUILD_TARGET), darwin win)
    2486   TEMPLATE_VBOXR3_DEFS = $(TEMPLATE_VBOXR3EXE_DEFS) PIC
    2487   TEMPLATE_VBOXR3_CFLAGS = $(TEMPLATE_VBOXR3EXE_CFLAGS) -fPIC
    2488   TEMPLATE_VBOXR3_CXXFLAGS = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -fPIC
    2489   TEMPLATE_VBOXR3_LDFLAGS = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -fPIC
     2486  TEMPLATE_VBOXR3_DEFS                 = $(TEMPLATE_VBOXR3EXE_DEFS) PIC
     2487  TEMPLATE_VBOXR3_CFLAGS               = $(TEMPLATE_VBOXR3EXE_CFLAGS) -fPIC
     2488  TEMPLATE_VBOXR3_CXXFLAGS             = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -fPIC
     2489  TEMPLATE_VBOXR3_LDFLAGS              = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -fPIC
    24902490 endif
    24912491endif
     
    24952495# libraries they link with.
    24962496#
    2497 TEMPLATE_VBOXR3STATIC           = VBox Static Ring 3 EXE
    2498 TEMPLATE_VBOXR3STATIC_EXTENDS   = VBOXR3EXE
     2497TEMPLATE_VBOXR3STATIC                  = VBox Static Ring 3 EXE
     2498TEMPLATE_VBOXR3STATIC_EXTENDS          = VBOXR3EXE
    24992499ifeq ($(KBUILD_TARGET),win)
    2500  TEMPLATE_VBOXR3STATIC_CFLAGS   = $(filter-out -MD, $(TEMPLATE_VBOXR3EXE_CFLAGS)) -MT
    2501  TEMPLATE_VBOXR3STATIC_CXXFLAGS = $(filter-out -MD, $(TEMPLATE_VBOXR3EXE_CFLAGS)) -MT
    2502  TEMPLATE_VBOXR3STATIC_LDFLAGS  = $(filter-out /DISALLOWLIB:libcmt.lib, $(TEMPLATE_VBOXR3EXE_LDFLAGS)) \
     2500 TEMPLATE_VBOXR3STATIC_CFLAGS          = $(filter-out -MD, $(TEMPLATE_VBOXR3EXE_CFLAGS)) -MT
     2501 TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(filter-out -MD, $(TEMPLATE_VBOXR3EXE_CFLAGS)) -MT
     2502 TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out /DISALLOWLIB:libcmt.lib, $(TEMPLATE_VBOXR3EXE_LDFLAGS)) \
    25032503        /DISALLOWLIB:msvcrt.lib \
    25042504        /DISALLOWLIB:msvcprt.lib
    2505  TEMPLATE_VBOXR3STATIC_LIBS     = \
     2505 TEMPLATE_VBOXR3STATIC_LIBS            = \
    25062506        $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL)_LIB)/oldnames.lib \
    25072507        $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL)_LIB)/libcmt.lib \
     
    25092509else ifn1of ($(KBUILD_TARGET), darwin)
    25102510 # The gcc guys sans darwin.
    2511  TEMPLATE_VBOXR3STATIC_CFLAGS   = $(TEMPLATE_VBOXR3EXE_CFLAGS) -static
    2512  TEMPLATE_VBOXR3STATIC_CXXFLAGS = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -static
    2513  TEMPLATE_VBOXR3STATIC_OBJCFLAGS= $(TEMPLATE_VBOXR3EXE_OBJCFLAGS) -static
    2514  TEMPLATE_VBOXR3STATIC_LDFLAGS  = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -static
     2511 TEMPLATE_VBOXR3STATIC_CFLAGS          = $(TEMPLATE_VBOXR3EXE_CFLAGS) -static
     2512 TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -static
     2513 TEMPLATE_VBOXR3STATIC_OBJCFLAGS       = $(TEMPLATE_VBOXR3EXE_OBJCFLAGS) -static
     2514 TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(TEMPLATE_VBOXR3EXE_LDFLAGS) -static
     2515endif
     2516
     2517#
     2518# Same as VBOXR3EXE but without C++ exceptions.
     2519#
     2520# VBOXR3EXE does C++ exceptions and may assumes that extern "C" functions
     2521# doesn't throw them. Use this template (and VBOXR3DLLNOXCPT) with care
     2522# and only where the C++ overhead is really unwanted.
     2523#
     2524TEMPLATE_VBOXR3EXENOXCPT               = VBox Ring 3 Exe without C++ exception
     2525TEMPLATE_VBOXR3EXENOXCPT_EXTENDS       = VBOXR3EXE
     2526ifeq ($(KBUILD_TARGET),win)
     2527 TEMPLATE_VBOXR3EXENOXCPT_CFLAGS       = $(filter-out -EH%,$(TEMPLATE_VBOXR3EXE_CFLAGS)  ) -EHs-
     2528 TEMPLATE_VBOXR3EXENOXCPT_CXXFLAGS     = $(filter-out -EH%,$(TEMPLATE_VBOXR3EXE_CXXFLAGS)) -EHs-
     2529else
     2530 TEMPLATE_VBOXR3EXENOXCPT_CXXFLAGS     = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -fno-exceptions
     2531endif
     2532
     2533#
     2534# Same as VBOXR3 but without C++ exceptions.
     2535#
     2536TEMPLATE_VBOXR3DLLNOXCPT               = VBox Ring 3 SO/DLLs without C++ exception
     2537TEMPLATE_VBOXR3DLLNOXCPT_EXTENDS       = VBOXR3
     2538ifeq ($(KBUILD_TARGET),win)
     2539 TEMPLATE_VBOXR3DLLNOXCPT_CFLAGS       = $(filter-out -EH%,$(TEMPLATE_VBOXR3_CFLAGS)  ) -EHs-
     2540 TEMPLATE_VBOXR3DLLNOXCPT_CXXFLAGS     = $(filter-out -EH%,$(TEMPLATE_VBOXR3_CXXFLAGS)) -EHs-
     2541else
     2542 TEMPLATE_VBOXR3DLLNOXCPT_CXXFLAGS     = $(TEMPLATE_VBOXR3_CXXFLAGS) -fno-exceptions
    25152543endif
    25162544
     
    27352763 ifdef VBOX_USE_VCC80
    27362764  TEMPLATE_VBOXMAINEXE_TOOL              = $(VBOX_VCC_TOOL)
    2737   TEMPLATE_VBOXMAINEXE_CXXFLAGS          = -Zi -Zl -GR -GF- -MD -EHsc -W3 -wd4065 -wd4996 -wd4250 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2765  TEMPLATE_VBOXMAINEXE_CXXFLAGS          = -Zi -Zl -GR -EHsc -GF -MD -W3 -wd4065 -wd4996 -wd4250 -Zc:wchar_t- $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    27382766  TEMPLATE_VBOXMAINEXE_CXXFLAGS.debug    = -RTCsu
    27392767 else
    27402768  TEMPLATE_VBOXMAINEXE_TOOL              = VCC70
    2741   TEMPLATE_VBOXMAINEXE_CXXFLAGS          = -Zi -Zl -GR -GX- -GF- -MD -EHsc -W3 -wd4065 -wd4250 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
     2769  TEMPLATE_VBOXMAINEXE_CXXFLAGS          = -Zi -Zl -GR -EHsc -GF -MD -W3 -wd4065 -wd4250 $(VBOX_VCC_OPT) $(VBOX_VCC_FP)
    27422770  TEMPLATE_VBOXMAINEXE_CXXFLAGS.debug    = -GZ
    27432771 endif
     
    32003228 endif
    32013229 ifneq ($(TEMPLATE_VBOXBLDPROG_TOOL),VCC70)
    3202   TEMPLATE_VBOXBLDPROG_CXXFLAGS          = -Zi -Zl -GR- -EHs-c- -GF- -MT -W3 -wd4996 -Zc:wchar_t-
     3230  TEMPLATE_VBOXBLDPROG_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -MT -W3 -wd4996 -Zc:wchar_t-
    32033231  TEMPLATE_VBOXBLDPROG_CXXFLAGS.debug    = -RTCsu
    32043232  TEMPLATE_VBOXBLDPROG_CXXFLAGS.release  = -O2 -Oy- -GS-
    32053233 else
    3206   TEMPLATE_VBOXBLDPROG_CXXFLAGS          = -Zi -Zl -GR- -GX- -GF- -MT -W3
     3234  TEMPLATE_VBOXBLDPROG_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -MT -W3
    32073235  TEMPLATE_VBOXBLDPROG_CXXFLAGS.debug    = -GZ
    32083236  TEMPLATE_VBOXBLDPROG_CXXFLAGS.release  = -Ogitb2 -Oy-
  • trunk/src/VBox/Disassembler/DisasmInternal.h

    r13832 r18422  
    8686extern PFNDISPARSE  pfnCalcSize[IDX_ParseMax];
    8787
    88 
    89 __BEGIN_DECLS
    9088
    9189unsigned ParseInstruction(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, PDISCPUSTATE pCpu);
     
    178176size_t disFormatBytes(PCDISCPUSTATE pCpu, char *pszDst, size_t cchDst, uint32_t fFlags);
    179177
    180 __END_DECLS
    181 
    182178#endif /* !___DisasmInternal_h___ */
    183179
  • trunk/src/VBox/Disassembler/Makefile.kmk

    r12989 r18422  
    3232DisasmR3_TEMPLATE       = VBOXR3
    3333DisasmR3_DEFS           = IN_DIS
    34 ifeq ($(KBUILD_TARGET),win)
    35 DisasmR3_CXXFLAGS      += -EHa
    36 else ifneq ($(KBUILD_TARGET),l4)
    37 DisasmR3_CXXFLAGS      += -fexceptions
    38 endif
    3934DisasmR3_SOURCES        = \
    4035        Disasm.cpp \
  • trunk/src/VBox/Frontends/VBoxBFE/Makefile.kmk

    r16012 r18422  
    4646# VBoxBFE
    4747#
    48 VBoxBFE_TEMPLATE =
    49 VBoxBFE_TEMPLATE  := $(if $(VBOX_WITH_HARDENING),VBOXR3NP,VBOXR3NPEXE)
     48VBoxBFE_TEMPLATE := $(if $(VBOX_WITH_HARDENING),VBOXR3NP,VBOXR3NPEXE)
    5049#ifdef VBOX_WITH_SECURELABEL
    5150#VBoxBFE_DEFS += VBOX_SECURELABEL
     
    153152VBoxBFE_LDFLAGS.darwin = -framework Foundation -framework AppKit
    154153
    155 VBoxBFE_CXXFLAGS.win = \
    156         -EHsc
     154VBoxBFE_CXXFLAGS.l4 += -fno-rtti -nostdinc -Wno-non-virtual-dtor \
     155        $(addprefix -I,$(VBOX_L4_GCC3_INCS) $(L4_INCDIR))
     156## @todo why is it all this cool stuff here only for linux? If it's important, -fshort-wchar would apply to all GCC platforms.
    157157VBoxBFE_DEFS.linux = \
    158158        NDEBUG TRIMMED
    159159VBoxBFE_CXXFLAGS.linux =  \
    160160        -fno-rtti -fno-exceptions -fshort-wchar -pthread
    161 VBoxBFE_CXXFLAGS.l4 += -fno-rtti -nostdinc -Wno-non-virtual-dtor \
    162         $(addprefix -I,$(VBOX_L4_GCC3_INCS) $(L4_INCDIR))
    163161
    164162VBoxBFE_CLEAN = $(PATH_VBoxBFE)/Ico64x01.h
  • trunk/src/VBox/Frontends/VBoxSDL/Makefile.kmk

    r16012 r18422  
    162162        -framework Foundation -framework AppKit
    163163
    164 tstSDL_CXXFLAGS.win = \
    165         -EHsc
    166 tstSDL_CXXFLAGS.linux = \
    167         -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \
    168         -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe
     164## @todo What was this stuff doing here? The exception config is saying two different things, and why just -O for release builds?
     165#tstSDL_CXXFLAGS.win = \
     166#       -EHsc
     167#tstSDL_CXXFLAGS.linux = \
     168#       -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \
     169#       -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe
     170# Is this what's intended? Why -fshort-wchar?
     171tstSDL_DEFS.linux = NDEBUG TRIMMED
     172tstSDL_CXXFLAGS.linux = -O -Wall -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar
    169173
    170174
  • trunk/src/VBox/HostServices/GuestProperties/Makefile.kmk

    r13916 r18422  
    3737        $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_INC) \
    3838        $(VBOX_PATH_SDK)
    39 # For now!
    40 VBoxGuestPropSvc_CXXFLAGS.win = -EHsc
    4139
    4240VBoxGuestPropSvc_SOURCES = \
  • trunk/src/VBox/HostServices/GuestProperties/testcase/Makefile.kmk

    r14104 r18422  
    3434tstGuestPropSvc_SOURCES  = tstGuestPropSvc.cpp ../service.cpp
    3535tstGuestPropSvc_LIBS     = $(LIB_RUNTIME)
    36 # For now!
    37 tstGuestPropSvc_CXXFLAGS.win = -EHsc
    3836
    3937# Set this in LocalConfig.kmk if you are working on the guest property service
  • trunk/src/VBox/Main/webservice/Makefile.kmk

    r18147 r18422  
    184184 LIBRARIES += vboxsoap
    185185 vboxsoap_TEMPLATE = VBOXR3EXE
    186  vboxsoap_CXXFLAGS.win = -EHsc
    187186 ifdef VBOX_USE_VCC80
    188187  vboxsoap_CXXFLAGS.win += -bigobj
     
    253252        $(VBOXWEB_OUT_DIR) \
    254253        .
    255  vboxwebsrv_CXXFLAGS.win = -EHsc ## @todo need to fix this template one day
    256254 ifdef VBOX_USE_VCC80
    257255  vboxwebsrv_CXXFLAGS.win += -bigobj
     
    278276 PROGRAMS += webtest
    279277 webtest_TEMPLATE = VBOXR3EXE
    280  webtest_CXXFLAGS.win = -EHsc
    281278 ifdef VBOX_USE_VCC80
    282279  webtest_CXXFLAGS.win += -bigobj
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette