VirtualBox

Changeset 93265 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Jan 17, 2022 10:51:43 AM (3 years ago)
Author:
vboxsync
Message:

Add,SUP: x86 build adjustments for /guard:cf. bugref:10162

Location:
trunk/src/VBox/Additions
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/disp/Makefile.kmk

    r93251 r93265  
    4141endif
    4242#VBoxDisp_DEFS         += VBOX_VBVA_ADJUST_RECT
    43 VBoxDisp_INCS          = ../../../include .. $(VBOX_GRAPHICS_INCS)
     43VBoxDisp_INCS          = \
     44        ../../../include \
     45        .. \
     46        $(VBOX_GRAPHICS_INCS)
    4447VBoxDisp_LDFLAGS.x86   = /Entry:DrvEnableDriver@12
    4548VBoxDisp_LDFLAGS.amd64 = /Entry:DrvEnableDriver
     
    6871        xpdm/VBoxDispDDrawVHWA.cpp
    6972endif
     73
     74
    7075VBoxDisp_LIBS = \
    71         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/win32k.lib \
    7276        $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
    73         $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
    74 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD) # Use the GDI variant here, see /Entry above.
     77        $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB) \
     78        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/win32k.lib # Linker needs newer win32k.lib (for x86 at least); incompatible loadcfg.obj in the WDK 7.1 one.
     79ifneq ($(VBOX_VCC_CC_GUARD_CF),)
    7580 VBoxDisp_LIBS += \
    76         $(PATH_SDK_$(VBOX_WINDDK)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowGDI.lib
     81        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/BufferOverflowGDI.lib # for ___security_cookie
    7782endif
    7883VBoxDisp_USES.win += vboximportchecker
  • trunk/src/VBox/Additions/WINNT/Graphics/Video/mp/Makefile.kmk

    r93251 r93265  
    3939 VBoxVideo_DEFS        += VBOX_WITH_VIDEOHWACCEL
    4040endif
    41 VBoxVideo_INCS          = ../../../include .. . $(VBOX_GRAPHICS_INCS)
     41VBoxVideo_INCS          = \
     42        ../../../include \
     43        .. \
     44        . \
     45        $(VBOX_GRAPHICS_INCS)
    4246VBoxVideo_LDFLAGS.x86   = /Entry:DriverEntry@8
    4347VBoxVideo_LDFLAGS.amd64 = /Entry:DriverEntry
     
    5963        $(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/Modesetting.cpp
    6064VBoxVideo_LIBS          = \
    61         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/videoprt.lib \
    62         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/ntoskrnl.lib \
    63         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/hal.lib \
     65        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/videoprt.lib \
     66        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/ntoskrnl.lib \
     67        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/hal.lib \
    6468        $(VBOX_LIB_VBGL_R0) \
    6569        $(VBOX_LIB_IPRT_GUEST_R0_NT4) \
    6670        $(VBOX_PATH_ADDITIONS_LIB)/HGSMIGuestR0Lib$(VBOX_SUFF_LIB)
    67 VBoxVideo_LIBS.x86      = \
    68         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/exsup.lib
    69 if "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD)
    70  VBoxVideo_LIBS += \
    71         $(PATH_SDK_$(VBOX_WINDDK)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib
     71ifeq ($(KBUILD_TARGET_ARCH),x86)
     72 VBoxVideo_LIBS         += \
     73        $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/exsup.lib \
     74        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/BufferOverflowK.lib # Needed for ___security_cookie.
    7275endif
     76VBoxVideo_USES.win = vboximportchecker
     77VBoxVideo_VBOX_IMPORT_CHECKER.win.x86 = nt4/r0
     78VBoxVideo_VBOX_IMPORT_CHECKER.win.amd64 = xp64/r0
    7379
    7480ifdef VBOX_WITH_WDDM
  • trunk/src/VBox/Additions/WINNT/Mouse/NT4/Makefile.kmk

    r93115 r93265  
    4040        $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/ntoskrnl.lib \
    4141        $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/hal.lib
     42ifneq ($(VBOX_VCC_CC_GUARD_CF),)
     43 VBoxMouseNT_LIBS.x86 += \
     44        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/BufferOverflowK.lib
     45endif
    4246VBoxMouseNT_CLEAN       = \
    4347        $(VBoxMouseNT_0_OUTDIR)/VBoxMouseNT.pdb
  • trunk/src/VBox/Additions/WINNT/Mouse/NT5/Makefile.kmk

    r93115 r93265  
    3636        VBoxMF.rc
    3737VBoxMouse_LIBS.x86      = \
    38         $(PATH_SDK_$(VBOX_WINDDK_GST_W2K)_LIB)/ntoskrnl.lib \
    39         $(PATH_SDK_$(VBOX_WINDDK_GST_W2K)_LIB)/hal.lib
     38        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/ntoskrnl.lib \
     39        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/hal.lib
     40ifneq ($(VBOX_VCC_CC_GUARD_CF),)
     41 VBoxMouse_LIBS.x86    += \
     42        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/BufferOverflowK.lib
     43endif
    4044VBoxMouse_LIBS.amd64    = \
    4145        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/ntoskrnl.lib \
     
    4448        $(VBOX_LIB_IPRT_GUEST_R0) \
    4549        $(VBOX_LIB_VBGL_R0)
     50VBoxMouse_USES.win += vboximportchecker
     51VBoxMouse_VBOX_IMPORT_CHECKER.win.x86 = w2k/r0
     52VBoxMouse_VBOX_IMPORT_CHECKER.win.amd64 = xp64/r0
    4653
    4754#
  • trunk/src/VBox/Additions/WINNT/SharedFolders/driver/Makefile.kmk

    r93251 r93265  
    2121#
    2222# VBoxSF
     23# Note! On X86 this is only used for windows 8 and later.
     24# Note! On X86 we must link against ntoskrnl.lib from the default WDK when /guard:cf is enabled,
     25#       or the linker barfs at loadcfg.obj not containing a large enough load config structure.
    2326#
    2427SYSMODS += VBoxSF
     
    4750        $(VBoxSF_0_OUTDIR)/rdbsslib.lib \
    4851        $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/copysup.lib \
     52        $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/hal.lib \
     53        $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/ksecdd.lib
     54ifneq ($(VBOX_VCC_CC_GUARD_CF),)
     55 VBoxSF_LIBS += \
     56        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB.$(KBUILD_TARGET_ARCH))/ntoskrnl.lib \
     57        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib
     58else
     59 VBoxSF_LIBS += \
    4960        $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/ntoskrnl.lib \
    50         $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/hal.lib \
    51         $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/ksecdd.lib \
    52         $(PATH_SDK_$($(if-expr "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD),VBOX_WINDDK,VBOX_WINDDK_GST_WLH))_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib \
    53         \
     61        $(PATH_SDK_$(VBOX_WINDDK_GST_WLH)_LIB.$(KBUILD_TARGET_ARCH))/BufferOverflowK.lib
     62endif
     63VBoxSF_LIBS += \
    5464        $(VBOX_LIB_VBGL_R0) \
    5565        $(VBOX_LIB_IPRT_GUEST_R0)
     
    5868        $(VBoxSF_0_OUTDIR)/rdbsslib.lib
    5969
     70VBoxSF_USES.win += vboximportchecker
     71VBoxSF_VBOX_IMPORT_CHECKER.win.x86 = w8/r0
     72VBoxSF_VBOX_IMPORT_CHECKER.win.amd64 = xp64/r0
     73
    6074
    6175ifeq ($(KBUILD_TARGET_ARCH),x86)
     76 #
     77 # This driver version is used for Windows 2000, XP, W2K3, Vista and 7.
     78 #
    6279 SYSMODS += VBoxSFW2K
    63 
    6480 VBoxSFW2K_EXTENDS      := VBoxSF
    6581 VBoxSFW2K_SDKS         = ReorderCompilerIncs $(VBOX_WINDDK_GST_W2K3)
     
    6884        $(VBoxSFW2K_0_OUTDIR)/rdbsslib.lib \
    6985        $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/copysup.lib \
    70         $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/ntoskrnl.lib \
    7186        $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/hal.lib \
    7287        $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/ksecdd.lib \
    73         $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/BufferOverflowK.lib \
    74         $(PATH_SDK_$($(if-expr "$(VBOX_VCC_TOOL_STEM)" >= "VCC142" && !defined(VBOX_WITHOUT_CONTROL_FLOW_GUARD),VBOX_WINDDK,VBOX_WINDDK_GST_W2K3))_LIB.x86)/BufferOverflowK.lib \
    7588        \
    7689        $(VBOX_LIB_VBGL_R0) \
    7790        $(VBOX_LIB_IPRT_GUEST_R0)
     91 ifneq ($(VBOX_VCC_CC_GUARD_CF),)
     92  VBoxSFW2K_LIBS += \
     93        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB.x86)/ntoskrnl.lib \
     94        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB.x86)/BufferOverflowK.lib
     95 else
     96  VBoxSFW2K_LIBS += \
     97        $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/ntoskrnl.lib \
     98        $(PATH_SDK_$(VBOX_WINDDK_GST_W2K3)_LIB.x86)/BufferOverflowK.lib
     99 endif
    78100 VBoxSFW2K_CLEAN = \
    79101        $(VBoxSFW2K_0_OUTDIR)/rdbsslib.lib
     102 VBoxSFW2K_USES.win += vboximportchecker
     103 VBoxSFW2K_VBOX_IMPORT_CHECKER.win.x86 = w2k/r0
    80104endif
    81105
  • trunk/src/VBox/Additions/common/VBoxGuest/Makefile.kmk

    r93115 r93265  
    8989        $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/exsup.lib \
    9090        $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/int64.lib \
    91         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/ntoskrnl.lib \
    92         $(PATH_SDK_$(VBOX_WINDDK_GST_NT4)_LIB)/hal.lib
     91        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/ntoskrnl.lib \
     92        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/hal.lib
     93    ifneq ($(VBOX_VCC_CC_GUARD_CF),)
     94     VBoxGuest_LIBS     += \
     95        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/BufferOverflowK.lib
     96    endif
    9397   else
    94     VBoxGuest_LIBS        = \
     98    VBoxGuest_LIBS       = \
    9599        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/ntoskrnl.lib \
    96100        $(PATH_SDK_$(VBOX_WINDDK_GST)_LIB)/hal.lib
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