--- VirtualBox-5.1.22/Config.kmk.orig 2017-05-19 13:34:41.450407916 -0700 +++ VirtualBox-5.1.22/Config.kmk 2017-05-19 13:35:24.679590377 -0700 @@ -4083,7 +4083,24 @@ endif ifeq ($(KBUILD_TARGET),linux) -TEMPLATE_VBOXR0DRV_TOOL = $(NO_SUCH_VARIABLE) + TEMPLATE_VBOXR0DRV_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBOXR0DRV_INCS = $(VBOX_LINUX_INCS) + TEMPLATE_VBOXR0DRV_LIBS = $(VBOX_GCC_LIBGCC) + TEMPLATE_VBOXR0DRV_CFLAGS = -fno-pie -nostdinc -iwithprefix include $(VBOX_LINUX_INCS) \ + $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare $(VBOX_GCC_fdiagnostics-show-option) \ + $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ + -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration + TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mpreferred-stack-boundary=2 -msoft-float + TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-red-zone -mcmodel=kernel \ + $(VBOX_GCC_msave-args) -fno-reorder-blocks -fno-asynchronous-unwind-tables -funit-at-a-time $(VBOX_GCC_msave-args) + TEMPLATE_VBOXR0DRV_CXXFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_CXX) -Wno-long-long $(VBOX_GCC_fdiagnostics-show-option) \ + -Wno-c++11-extensions -Wno-c99-extensions -Wno-extra-semi -Wno-zero-length-array \ + -Wno-gnu-zero-variadic-macro-arguments -Wno-four-char-constants \ + -fno-common -nostdinc -fno-builtin $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \ + -fno-exceptions -msoft-float -fapple-kext -fno-rtti -mkernel \ + -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -Wnon-modular-include-in-framework-module \ + -Werror=non-modular-include-in-framework-module \ + $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fasm-blocks -fno-strict-aliasing -stdlib=libc++ endif ifeq ($(KBUILD_TARGET),os2) @@ -6452,8 +6469,8 @@ TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS = $(TEMPLATE_VBOXGUESTR3EXE_CFLAGS) -fno-pie -fno-merge-constants -std=c99 -ffreestanding TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS= $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS) -fno-pie -fno-merge-constants -ffreestanding ifndef VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE - TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS += $(VBOX_GCC_fno-stack-protector) - TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) + TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) + TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) endif TEMPLATE_VBOXGUESTR3XF86MOD_SYSSUFF = .o TEMPLATE_VBOXGUESTR3XF86MOD_LIBS = \