VirtualBox

Changeset 98152 in vbox for trunk


Ignore:
Timestamp:
Jan 20, 2023 9:20:30 AM (2 years ago)
Author:
vboxsync
Message:

/Config.kmk,SUP/Makefile.kmk: s/VBOXR3STATIC/VBoxR3StaticBase/ (for now), switched VBoxSupLib (hardening related DLL) to use stack-probe-vcc.asm instead of chkstk.obj from the VCC lib dir. bugref:10348 bugref:10261

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r98143 r98152  
    64376437
    64386438#
    6439 # Template for building static R3 executables and any static
    6440 # libraries they link with.
    6441 #
    6442 TEMPLATE_VBOXR3STATIC                  = VBox Static Ring 3 EXE
    6443 TEMPLATE_VBOXR3STATIC_EXTENDS          = VBoxR3Exe
    6444 TEMPLATE_VBOXR3STATIC_DEFS             = IN_RT_STATIC IN_RT_R3 IN_SUP_STATIC $(TEMPLATE_VBoxR3Exe_DEFS)
     6439# Base template for building static R3 executables and any static
     6440# libraries they link with.  Do not use directly.
     6441#
     6442## @todo Bake this into VBoxR3Static.
     6443TEMPLATE_VBoxR3StaticBase                  = VBox Static Ring 3 EXE
     6444TEMPLATE_VBoxR3StaticBase_EXTENDS          = VBoxR3Exe
     6445TEMPLATE_VBoxR3StaticBase_DEFS             = IN_RT_STATIC IN_RT_R3 IN_SUP_STATIC $(TEMPLATE_VBoxR3Exe_DEFS)
    64456446ifdef VBOX_WITH_NOCRT_STATIC
    6446  TEMPLATE_VBOXR3STATIC_DEFS           += IPRT_NO_CRT
    6447  TEMPLATE_VBOXR3STATIC_INCS            = $(PATH_ROOT)/include/iprt/nocrt $(TEMPLATE_VBoxR3Exe_INCS)
     6447 TEMPLATE_VBoxR3StaticBase_DEFS           += IPRT_NO_CRT
     6448 TEMPLATE_VBoxR3StaticBase_INCS            = $(PATH_ROOT)/include/iprt/nocrt $(TEMPLATE_VBoxR3Exe_INCS)
    64486449endif
    64496450ifeq ($(KBUILD_TARGET),win)
    64506451 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
    64516452  ifdef VBOX_WITH_NOCRT_STATIC
    6452    TEMPLATE_VBOXR3STATIC_SDKS          = $(subst WINSDK10-UCRT,,$(TEMPLATE_VBoxR3Exe_SDKS))
    6453    TEMPLATE_VBOXR3STATIC_SDKS.x86      = $(TEMPLATE_VBoxR3Exe_SDKS.x86) VBOX_WIN_INT64  ## @todo drop this asap. @bugref{10261}
     6453   TEMPLATE_VBoxR3StaticBase_SDKS          = $(subst WINSDK10-UCRT,,$(TEMPLATE_VBoxR3Exe_SDKS))
     6454   TEMPLATE_VBoxR3StaticBase_SDKS.x86      = $(TEMPLATE_VBoxR3Exe_SDKS.x86) VBOX_WIN_INT64  ## @todo drop this asap. @bugref{10261}
    64546455  else
    6455    TEMPLATE_VBOXR3STATIC_SDKS          = $(subst WINSDK10-UCRT, WINSDK10-UCRT-STATIC,$(TEMPLATE_VBoxR3Exe_SDKS))
     6456   TEMPLATE_VBoxR3StaticBase_SDKS          = $(subst WINSDK10-UCRT, WINSDK10-UCRT-STATIC,$(TEMPLATE_VBoxR3Exe_SDKS))
    64566457  endif
    64576458 endif
    64586459 ifdef VBOX_WITH_NOCRT_STATIC
    6459   TEMPLATE_VBOXR3STATIC_CFLAGS          = $(filter-out -MD$(VBOX_VCC_CRT_TYPE) -EHsc -GR, $(TEMPLATE_VBoxR3Exe_CFLAGS)) \
     6460  TEMPLATE_VBoxR3StaticBase_CFLAGS          = $(filter-out -MD$(VBOX_VCC_CRT_TYPE) -EHsc -GR, $(TEMPLATE_VBoxR3Exe_CFLAGS)) \
    64606461        -Zl -EHc-s- -Gy -GR-
    6461   TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE) -EHsc -GR, $(TEMPLATE_VBoxR3Exe_CXXFLAGS)) \
     6462  TEMPLATE_VBoxR3StaticBase_CXXFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE) -EHsc -GR, $(TEMPLATE_VBoxR3Exe_CXXFLAGS)) \
    64626463        -Zl -EHc-s- -Gy -GR-
    6463   TEMPLATE_VBOXR3STATIC_PCHFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE) -EHsc -GR, $(TEMPLATE_VBoxR3Exe_PCHFLAGS)) \
     6464  TEMPLATE_VBoxR3StaticBase_PCHFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE) -EHsc -GR, $(TEMPLATE_VBoxR3Exe_PCHFLAGS)) \
    64646465        -Zl -EHc-s- -Gy -GR-
    64656466 else
    6466   TEMPLATE_VBOXR3STATIC_CFLAGS          = $(filter-out -MD$(VBOX_VCC_CRT_TYPE), $(TEMPLATE_VBoxR3Exe_CFLAGS)) \
     6467  TEMPLATE_VBoxR3StaticBase_CFLAGS          = $(filter-out -MD$(VBOX_VCC_CRT_TYPE), $(TEMPLATE_VBoxR3Exe_CFLAGS)) \
    64676468        -MT$(VBOX_VCC_CRT_TYPE) -Gy
    6468   TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE), $(TEMPLATE_VBoxR3Exe_CXXFLAGS)) \
     6469  TEMPLATE_VBoxR3StaticBase_CXXFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE), $(TEMPLATE_VBoxR3Exe_CXXFLAGS)) \
    64696470        -MT$(VBOX_VCC_CRT_TYPE) -Gy
    6470   TEMPLATE_VBOXR3STATIC_PCHFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE), $(TEMPLATE_VBoxR3Exe_PCHFLAGS)) \
     6471  TEMPLATE_VBoxR3StaticBase_PCHFLAGS        = $(filter-out -MD$(VBOX_VCC_CRT_TYPE), $(TEMPLATE_VBoxR3Exe_PCHFLAGS)) \
    64716472        -MT$(VBOX_VCC_CRT_TYPE) -Gy
    64726473 endif
    64736474
    64746475 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC120" # Do not use SSE so valkit stuff can run on NT4 w/o needing a separate runtime library.
    6475   TEMPLATE_VBOXR3STATIC_CFLAGS.win.x86     = $(TEMPLATE_VBoxR3Exe_CFLAGS.win.86) /arch:IA32
    6476   TEMPLATE_VBOXR3STATIC_CXXFLAGS.win.x86   = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.win.86) /arch:IA32
    6477   TEMPLATE_VBOXR3STATIC_PCHFLAGS.win.x86   = $(TEMPLATE_VBoxR3Exe_PCHFLAGS.win.86) /arch:IA32
    6478   TEMPLATE_VBOXR3STATIC_CFLAGS            += -Gw
    6479   TEMPLATE_VBOXR3STATIC_CXXFLAGS          += -Gw
    6480   TEMPLATE_VBOXR3STATIC_PCHFLAGS          += -Gw
     6476  TEMPLATE_VBoxR3StaticBase_CFLAGS.win.x86     = $(TEMPLATE_VBoxR3Exe_CFLAGS.win.86) /arch:IA32
     6477  TEMPLATE_VBoxR3StaticBase_CXXFLAGS.win.x86   = $(TEMPLATE_VBoxR3Exe_CXXFLAGS.win.86) /arch:IA32
     6478  TEMPLATE_VBoxR3StaticBase_PCHFLAGS.win.x86   = $(TEMPLATE_VBoxR3Exe_PCHFLAGS.win.86) /arch:IA32
     6479  TEMPLATE_VBoxR3StaticBase_CFLAGS            += -Gw
     6480  TEMPLATE_VBoxR3StaticBase_CXXFLAGS          += -Gw
     6481  TEMPLATE_VBoxR3StaticBase_PCHFLAGS          += -Gw
    64816482 endif
    64826483
     
    64846485  # .0000cfg normally merges into .idata, but the linker won't let us do so via /MERGE. Doesn't matter much,
    64856486  # because .idata can be writable when targeting x86 (NT 3.1 fun) and we don't want .0000cfg to be writable.
    6486   TEMPLATE_VBOXR3STATIC_LDFLAGS            = $(TEMPLATE_VBoxR3Exe_LDFLAGS) /NODEFAULTLIB /Merge:.0000cfg=.rdata
     6487  TEMPLATE_VBoxR3StaticBase_LDFLAGS            = $(TEMPLATE_VBoxR3Exe_LDFLAGS) /NODEFAULTLIB /Merge:.0000cfg=.rdata
    64876488 else
    6488   TEMPLATE_VBOXR3STATIC_LDFLAGS            = $(filter-out /DISALLOWLIB:libcmt$(VBOX_VCC_CRT_TYPE).lib /DISALLOWLIB:libcpmt$(VBOX_VCC_CRT_TYPE).lib, $(TEMPLATE_VBoxR3Exe_LDFLAGS))
    6489  endif
    6490  TEMPLATE_VBOXR3STATIC_LDFLAGS            += \
     6489  TEMPLATE_VBoxR3StaticBase_LDFLAGS            = $(filter-out /DISALLOWLIB:libcmt$(VBOX_VCC_CRT_TYPE).lib /DISALLOWLIB:libcpmt$(VBOX_VCC_CRT_TYPE).lib, $(TEMPLATE_VBoxR3Exe_LDFLAGS))
     6490 endif
     6491 TEMPLATE_VBoxR3StaticBase_LDFLAGS            += \
    64916492        /DISALLOWLIB:msvcrt.lib \
    64926493        /DISALLOWLIB:msvcrtd.lib \
     
    64996500 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
    65006501  ifdef VBOX_WITH_NOCRT_STATIC
    6501    TEMPLATE_VBOXR3STATIC_LIBS.amd64        = $(NO_SUCH_VARIABLE)
    6502    TEMPLATE_VBOXR3STATIC_LIBS.x86          = $(NO_SUCH_VARIABLE)
     6502   TEMPLATE_VBoxR3StaticBase_LIBS.amd64        = $(NO_SUCH_VARIABLE)
     6503   TEMPLATE_VBoxR3StaticBase_LIBS.x86          = $(NO_SUCH_VARIABLE)
    65036504  else
    6504    TEMPLATE_VBOXR3STATIC_LIBS.x86          = \
    6505         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/libvcruntime$(VBOX_VCC_CRT_TYPE).lib \
    6506         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
    6507         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
    6508         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/oldnames.lib
    6509    TEMPLATE_VBOXR3STATIC_LIBS.amd64        = \
    6510         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libvcruntime$(VBOX_VCC_CRT_TYPE).lib \
    6511         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
    6512         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
    6513         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/oldnames.lib
     6505   TEMPLATE_VBoxR3StaticBase_LIBS.x86          = \
     6506        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/libvcruntime$(VBOX_VCC_CRT_TYPE).lib \
     6507        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     6508        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
     6509        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/oldnames.lib
     6510   TEMPLATE_VBoxR3StaticBase_LIBS.amd64        = \
     6511        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libvcruntime$(VBOX_VCC_CRT_TYPE).lib \
     6512        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     6513        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
     6514        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/oldnames.lib
    65146515  endif
    65156516  ifeq ($(KBUILD_TYPE),asan)
    6516    TEMPLATE_VBOXR3STATIC_LIBS.x86         += \
    6517         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/clang_rt.asan-i386.lib \
    6518         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/clang_rt.asan_cxx-i386.lib
    6519    TEMPLATE_VBOXR3STATIC_LIBS.amd64       += \
    6520         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/clang_rt.asan-x86_64.lib \
    6521         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/clang_rt.asan_cxx-x86_64.lib
     6517   TEMPLATE_VBoxR3StaticBase_LIBS.x86         += \
     6518        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/clang_rt.asan-i386.lib \
     6519        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/clang_rt.asan_cxx-i386.lib
     6520   TEMPLATE_VBoxR3StaticBase_LIBS.amd64       += \
     6521        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/clang_rt.asan-x86_64.lib \
     6522        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/clang_rt.asan_cxx-x86_64.lib
    65226523  endif
    65236524 else
    65246525  ifdef VBOX_WITH_NOCRT_STATIC
    6525    TEMPLATE_VBOXR3STATIC_LIBS.amd64        = $(NO_SUCH_VARIABLE)
    6526    TEMPLATE_VBOXR3STATIC_LIBS.x86          = $(NO_SUCH_VARIABLE)
     6526   TEMPLATE_VBoxR3StaticBase_LIBS.amd64        = $(NO_SUCH_VARIABLE)
     6527   TEMPLATE_VBoxR3StaticBase_LIBS.x86          = $(NO_SUCH_VARIABLE)
    65276528  else
    6528    TEMPLATE_VBOXR3STATIC_LIBS.x86          = \
    6529         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/oldnames.lib \
    6530         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
    6531         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib
    6532    TEMPLATE_VBOXR3STATIC_LIBS.amd64        = \
    6533         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
    6534         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
    6535         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/oldnames.lib
     6529   TEMPLATE_VBoxR3StaticBase_LIBS.x86          = \
     6530        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/oldnames.lib \
     6531        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     6532        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.x86)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib
     6533   TEMPLATE_VBoxR3StaticBase_LIBS.amd64        = \
     6534        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
     6535        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
     6536        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticBase_TOOL.win.amd64)_LIB)/oldnames.lib
    65366537  endif
    65376538 endif
    65386539else
    65396540 ifdef VBOX_WITH_NOCRT_STATIC
    6540   TEMPLATE_VBOXR3STATIC_DEFS           += RT_WITH_NOCRT_WRAPPERS
     6541  TEMPLATE_VBoxR3StaticBase_DEFS           += RT_WITH_NOCRT_WRAPPERS
    65416542 endif
    65426543 ifn1of ($(KBUILD_TARGET), darwin linux solaris)
    65436544  # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
    6544   TEMPLATE_VBOXR3STATIC_CFLAGS          = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static
    6545   TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static
    6546   TEMPLATE_VBOXR3STATIC_PCHFLAGS        = $(TEMPLATE_VBoxR3Exe_PCHFLAGS) -static
    6547   TEMPLATE_VBOXR3STATIC_OBJCFLAGS       = $(TEMPLATE_VBoxR3Exe_OBJCFLAGS) -static
    6548   TEMPLATE_VBOXR3STATIC_OBJCXXFLAGS     = $(TEMPLATE_VBoxR3Exe_OBJCXXFLAGS) -static
    6549   TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(TEMPLATE_VBoxR3Exe_LDFLAGS) -static
     6545  TEMPLATE_VBoxR3StaticBase_CFLAGS          = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static
     6546  TEMPLATE_VBoxR3StaticBase_CXXFLAGS        = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static
     6547  TEMPLATE_VBoxR3StaticBase_PCHFLAGS        = $(TEMPLATE_VBoxR3Exe_PCHFLAGS) -static
     6548  TEMPLATE_VBoxR3StaticBase_OBJCFLAGS       = $(TEMPLATE_VBoxR3Exe_OBJCFLAGS) -static
     6549  TEMPLATE_VBoxR3StaticBase_OBJCXXFLAGS     = $(TEMPLATE_VBoxR3Exe_OBJCXXFLAGS) -static
     6550  TEMPLATE_VBoxR3StaticBase_LDFLAGS         = $(TEMPLATE_VBoxR3Exe_LDFLAGS) -static
    65506551 else ifeq ($(KBUILD_TARGET),solaris)
    6551   TEMPLATE_VBOXR3STATIC_LIBS            = $(TEMPLATE_VBoxR3Exe_LIBS) nsl
    6552   TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBoxR3Exe_LDFLAGS))
     6552  TEMPLATE_VBoxR3StaticBase_LIBS            = $(TEMPLATE_VBoxR3Exe_LIBS) nsl
     6553  TEMPLATE_VBoxR3StaticBase_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBoxR3Exe_LDFLAGS))
    65536554 else
    6554   TEMPLATE_VBOXR3STATIC_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBoxR3Exe_LDFLAGS))
     6555  TEMPLATE_VBoxR3StaticBase_LDFLAGS         = $(filter-out '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)' '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)',$(TEMPLATE_VBoxR3Exe_LDFLAGS))
    65556556 endif
    65566557 ifn1of ($(KBUILD_TARGET), darwin os2)  # ELF only. Present in gcc 3.2.3 & binutils 2.15, possibly earlier.
    65576558  ifdef VBOX_LD_gc_sections             # Older solaris linker versions doesn't grok --gc-sections (e.g. add build box).
    6558    ifndef TEMPLATE_VBOXR3STATIC_CXXFLAGS
    6559     TEMPLATE_VBOXR3STATIC_CXXFLAGS       = $(TEMPLATE_VBoxR3Exe_CXXFLAGS)
    6560     TEMPLATE_VBOXR3STATIC_CFLAGS         = $(TEMPLATE_VBoxR3Exe_CFLAGS)
     6559   ifndef TEMPLATE_VBoxR3StaticBase_CXXFLAGS
     6560    TEMPLATE_VBoxR3StaticBase_CXXFLAGS       = $(TEMPLATE_VBoxR3Exe_CXXFLAGS)
     6561    TEMPLATE_VBoxR3StaticBase_CFLAGS         = $(TEMPLATE_VBoxR3Exe_CFLAGS)
    65616562   endif
    6562    TEMPLATE_VBOXR3STATIC_CXXFLAGS       += -ffunction-sections -fdata-sections
    6563    TEMPLATE_VBOXR3STATIC_CFLAGS         += -ffunction-sections -fdata-sections
    6564    TEMPLATE_VBOXR3STATIC_LDFLAGS        += $(VBOX_LD_gc_sections)
     6563   TEMPLATE_VBoxR3StaticBase_CXXFLAGS       += -ffunction-sections -fdata-sections
     6564   TEMPLATE_VBoxR3StaticBase_CFLAGS         += -ffunction-sections -fdata-sections
     6565   TEMPLATE_VBoxR3StaticBase_LDFLAGS        += $(VBOX_LD_gc_sections)
    65656566  endif
    65666567 endif
     
    65696570#
    65706571# Temporary: Renaming the template and warnings will be errors (soon).
    6571 # Unlike VBOXR3STATIC, this is strict wrt warnings and includes IPRT.
    6572 #
    6573 TEMPLATE_VBoxR3Static               = New name for VBOXR3STATIC
    6574 TEMPLATE_VBoxR3Static_EXTENDS       = VBOXR3STATIC
     6572# Unlike VBoxR3StaticBase, this is strict wrt warnings and includes IPRT.
     6573#
     6574TEMPLATE_VBoxR3Static               = New name for VBoxR3StaticBase
     6575TEMPLATE_VBoxR3Static_EXTENDS       = VBoxR3StaticBase
    65756576TEMPLATE_VBoxR3Static_EXTENDS_BY    = appending
    65766577TEMPLATE_VBoxR3Static_SDKS.$(KBUILD_TARGET_ARCH) += VBOX_OPENSSL
     
    65856586 TEMPLATE_VBoxR3Static_CXXFLAGS    += $(VBOX_GCC_WERR)
    65866587 TEMPLATE_VBoxR3Static_PCHFLAGS    += $(VBOX_GCC_WERR)
    6587  TEMPLATE_VBoxR3Static_LDFLAGS.darwin.arm64 += $(TEMPLATE_VBOXR3STATIC_LDFLAGS.darwin.arm64) -framework IOKit
     6588 TEMPLATE_VBoxR3Static_LDFLAGS.darwin.arm64 += $(TEMPLATE_VBoxR3StaticBase_LDFLAGS.darwin.arm64) -framework IOKit
    65886589endif
    65896590TEMPLATE_VBoxR3Static_LIBS.$(KBUILD_TARGET_ARCH) += \
     
    85348535TEMPLATE_VBOXGUESTR3EXE           = VBox Guest Program
    85358536ifeq ($(KBUILD_TARGET),win)
    8536  TEMPLATE_VBOXGUESTR3EXE_EXTENDS  = VBOXR3STATIC
     8537 TEMPLATE_VBOXGUESTR3EXE_EXTENDS  = VBoxR3StaticBase
    85378538 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC140"
    85388539  ifdef VBOX_WITH_NOCRT_STATIC
     
    85578558 # in the binaries are set to 5.2.  The Visual C++ 2019 linker defaults to 6.0.
    85588559 # HACK ALERT! Double expansion of $$(NLTAB).
    8559  TEMPLATE_VBOXGUESTR3EXE_USES.win                      = $(TEMPLATE_VBOXR3STATIC_USES.win) vboximportchecker
     8560 TEMPLATE_VBOXGUESTR3EXE_USES.win                      = $(TEMPLATE_VBoxR3StaticBase_USES.win) vboximportchecker
    85608561 TEMPLATE_VBOXGUESTR3EXE_VBOX_IMPORT_CHECKER.win.x86   = nt31
    85618562 TEMPLATE_VBOXGUESTR3EXE_VBOX_IMPORT_CHECKER.win.amd64 = xp64
  • trunk/src/VBox/HostDrivers/Support/Makefile.kmk

    r98137 r98152  
    555555VBoxSupLib_SOURCES = \
    556556        $(KBUILD_TARGET)/VBoxSupLib-$(KBUILD_TARGET).cpp
     557VBoxSupLib_SOURCES.win.amd64 = \
     558       $(VBOX_PATH_RUNTIME_SRC)/common/compiler/vcc/stack-probe-vcc.asm
     559VBoxSupLib_SOURCES.win.x86 = \
     560       $(VBOX_PATH_RUNTIME_SRC)/common/compiler/vcc/stack-probe-vcc.asm
    557561VBoxSupLib_SOURCES.win = \
    558562        win/VBoxSupLib.rc
    559 VBoxSupLib_LIBS.win.x86 = \
    560         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/chkstk.obj
    561 VBoxSupLib_LIBS.win.amd64 = \
    562         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/chkstk.obj
    563 ifdef VBOX_WITH_HARDENING # for /guard:cf stuff
    564  VBoxSupLib_LIBS.win.x86 = \
    565         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.x86)_LIB)/libcmt.lib
    566  VBoxSupLib_LIBS.win.amd64 = \
    567         $(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcmt.lib
     563ifndef VBOX_WITH_NOCRT_STATIC
     564 ifdef VBOX_WITH_HARDENING # for /guard:cf stuff
     565  VBoxSupLib_LIBS.win.x86 = \
     566        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticNoCrt_TOOL.win.x86)_LIB)/libcmt.lib
     567  VBoxSupLib_LIBS.win.amd64 = \
     568        $(PATH_TOOL_$(TEMPLATE_VBoxR3StaticNoCrt_TOOL.win.amd64)_LIB)/libcmt.lib
     569 endif
    568570endif
    569571VBoxSupLib_VBOX_IMPORT_CHECKER.win.x86   = xp
Note: See TracChangeset for help on using the changeset viewer.

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