Changeset 66125 in vbox
- Timestamp:
- Mar 16, 2017 2:00:42 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
Config.kmk (modified) (11 diffs)
-
src/VBox/Devices/Makefile.kmk (modified) (3 diffs)
-
src/VBox/Storage/Makefile.kmk (modified) (1 diff)
-
src/VBox/VMM/Makefile.kmk (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r66070 r66125 2775 2775 VBOX_GCC_NON_PEDANTIC_C ?= -Wno-sign-compare -Werror-implicit-function-declaration 2776 2776 2777 VBOX_GCC_SANITIZER_FLAGS = \ 2778 -fsanitize=undefined \ 2779 -fsanitize=address \ 2780 -fsanitize=return \ 2781 -fsanitize=bounds \ 2782 -fsanitize=object-size \ 2783 -fno-sanitize=alignment \ 2784 -fno-sanitize=vptr \ 2785 -fno-common \ 2786 -static-libasan 2787 # The dynamic sanitiser library intercepts dlopen() and breaks RPATH $ORIGIN. 2788 VBOX_GCC_SANITIZER_LDFLAGS = \ 2789 -fsanitize=undefined \ 2790 -fsanitize=address \ 2791 -fsanitize=return \ 2792 -fsanitize=bounds \ 2793 -fsanitize=object-size \ 2794 -fno-sanitize=alignment \ 2795 -fno-sanitize=vptr \ 2796 -fno-common \ 2797 -static-libasan \ 2798 -static-libubsan 2799 VBOX_GCC_SANITIZER_LIBS= # pthread m rt dl 2800 # When the address sanitiser is enabled, shared objects will contain references 2801 # to ASAN symbols. Linking in libasan causes problems. 2802 VBOX_GCC_NO_UNDEFINED=$(if $(VBOX_WITH_GCC_SANITIZER),,-Wl,--no-undefined) 2803 VBOX_GCC_NO_UNDEFINED_R0=$(if $(VBOX_WITH_GCC_SANITIZER),,-no-undefined) 2804 2777 2805 # Disabled Visual C++ warnings, W4: 2778 2806 # -wd4065: switch statement contains 'default' but no 'case' labels … … 4413 4441 TEMPLATE_VBOXR0DRV_INCS = $(VBOX_HAIKU_SYS_INCS) 4414 4442 #TODO: sort this out 4415 TEMPLATE_VBOXR0DRV_LDFLAGS = -shared -no-undefined-dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o4443 TEMPLATE_VBOXR0DRV_LDFLAGS = -shared $(VBOX_GCC_NO_UNDEFINED_R0) -dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o 4416 4444 TEMPLATE_VBOXR0DRV_CFLAGS = -fno-PIC \ 4417 4445 $(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \ … … 4551 4579 TEMPLATE_VBOXR3EXE_CXXFLAGS.sparc64 = -m64 4552 4580 TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile = -finstrument-functions 4581 TEMPLATE_VBOXR3EXE_CXXFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_FLAGS),) 4553 4582 TEMPLATE_VBOXR3EXE_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) 4554 4583 ifdef VBOX_WITH_NO_GCC_WARNING_POLICY … … 4577 4606 TEMPLATE_VBOXR3EXE_LDFLAGS.linux = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) 4578 4607 TEMPLATE_VBOXR3EXE_LDFLAGS.solaris = -Wl,-z,ignore # same as VBOX_LD_as_needed 4608 TEMPLATE_VBOXR3EXE_LDFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_LDFLAGS),) 4609 TEMPLATE_VBOXR3EXE_LIBS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_LIBS),) 4579 4610 4580 4611 ifeq ($(KBUILD_TARGET),linux) … … 5244 5275 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS = -nostdlib 5245 5276 ifn1of ($(KBUILD_TARGET), os2 darwin solaris) 5246 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS += -Wl,--no-undefined5277 TEMPLATE_VBoxNoCrtGccLib_LDFLAGS += $(VBOX_GCC_NO_UNDEFINED) 5247 5278 endif 5248 5279 endif # x86 … … 5357 5388 TEMPLATE_VBOXMAINEXE_CXXFLAGS.amd64 = -m64 5358 5389 TEMPLATE_VBOXMAINEXE_CXXFLAGS.kprofile = -finstrument-functions 5390 TEMPLATE_VBOXMAINEXE_CXXFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_FLAGS),) 5359 5391 TEMPLATE_VBOXMAINEXE_CFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \ 5360 5392 $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK) … … 5365 5397 TEMPLATE_VBOXMAINEXE_CFLAGS.amd64 = -m64 5366 5398 TEMPLATE_VBOXMAINEXE_CFLAGS.kprofile = $(TEMPLATE_VBOXMAINEXE_CXXFLAGS.kprofile) 5399 TEMPLATE_VBOXMAINEXE_CFLAGS.debug = $(TEMPLATE_VBOXMAINEXE_CXXFLAGS.debug) 5367 5400 TEMPLATE_VBOXMAINEXE_OBJCFLAGS = $(TEMPLATE_VBOXMAINEXE_CFLAGS) 5368 5401 TEMPLATE_VBOXMAINEXE_OBJCFLAGS.x86 = $(TEMPLATE_VBOXMAINEXE_CFLAGS.x86) … … 5375 5408 TEMPLATE_VBOXMAINEXE_LDFLAGS.x86 = -m32 5376 5409 TEMPLATE_VBOXMAINEXE_LDFLAGS.amd64 = -m64 5410 TEMPLATE_VBOXMAINEXE_LDFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_LDFLAGS),) 5411 TEMPLATE_VBOXMAINEXE_LIBS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_LIBS),) 5377 5412 ifeq ($(KBUILD_TARGET),linux) 5378 5413 TEMPLATE_VBOXMAINEXE_LIBS = pthread m rt $(LIB_RUNTIME) dl … … 5907 5942 TEMPLATE_VBOXQTGUIEXE_CXXFLAGS.amd64 = -m64 5908 5943 TEMPLATE_VBOXQTGUIEXE_CXXFLAGS.linux = -pthread 5944 TEMPLATE_VBOXQTGUIEXE_CXXFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_FLAGS),) 5909 5945 TEMPLATE_VBOXQTGUIEXE_OBJCFLAGS = -g $(VBOX_GCC_pipe) $(VBOX_GCC_PEDANTIC_C) -fno-exceptions $(VBOX_GCC_IPRT_FMT_CHECK) 5910 5946 TEMPLATE_VBOXQTGUIEXE_OBJCFLAGS.x86 = $(TEMPLATE_VBOXQTGUIEXE_CXXFLAGS.x86) … … 5920 5956 TEMPLATE_VBOXQTGUIEXE_LDFLAGS.x86 = -m32 5921 5957 TEMPLATE_VBOXQTGUIEXE_LDFLAGS.amd64 = -m64 5958 TEMPLATE_VBOXQTGUIEXE_LDFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_LDFLAGS),) 5959 TEMPLATE_VBOXQTGUIEXE_LIBS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(VBOX_GCC_SANITIZER_LIBS),) 5922 5960 TEMPLATE_VBOXQTGUIEXE_LIBS = \ 5923 5961 $(VBOX_LIBS_QT) \ … … 6316 6354 TEMPLATE_VBOXGUESTR3EXE_TOOL := $(subst GXX,GCC,$(TEMPLATE_VBOXR3EXE_TOOL)) 6317 6355 TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -fno-exceptions 6356 # Do not inherit sanitizer flags from VBOXR3EXE in guest executables. Deal with them separately. 6357 TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(NO_SUCH_VARIABLE),) 6358 TEMPLATE_VBOXGUESTR3EXE_CFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(NO_SUCH_VARIABLE),) 6318 6359 TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux)) 6360 TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.debug = $(if $(VBOX_WITH_GCC_SANITIZER),$(NO_SUCH_VARIABLE),) 6319 6361 ifdef VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE 6320 6362 ifeq ($(KBUILD_TARGET_ARCH),x86) -
trunk/src/VBox/Devices/Makefile.kmk
r65977 r66125 104 104 endif 105 105 106 VBoxDDU_LDFLAGS.linux = -Wl,--no-undefined106 VBoxDDU_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) 107 107 $(call VBOX_SET_VER_INFO_DLL,VBoxDDU,VirtualBox VMM Devices and Drivers Utilities) 108 108 … … 221 221 -framework DiskArbitration \ 222 222 -framework SystemConfiguration 223 VBoxDD_LDFLAGS.linux = -Wl,--no-undefined223 VBoxDD_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) 224 224 225 225 # --- Tracing bits. --- … … 1065 1065 VBoxDD2_LIBS.darwin += $(LIB_REM) 1066 1066 VBoxDD2_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDD2.dylib 1067 VBoxDD2_LDFLAGS.linux = -Wl,--no-undefined1067 VBoxDD2_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) 1068 1068 1069 1069 $(call VBOX_SET_VER_INFO_DLL,VBoxDD2,VirtualBox VMM Devices and Drivers 2) # (last!) -
trunk/src/VBox/Storage/Makefile.kmk
r63976 r66125 58 58 DLLS += VDPluginCrypt 59 59 VDPluginCrypt_TEMPLATE = VBoxR3ExtPackPuelWithOpenSsl 60 VDPluginCrypt_LDFLAGS.linux = -Wl,--no-undefined60 VDPluginCrypt_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) 61 61 62 62 VDPluginCrypt_SOURCES = \ -
trunk/src/VBox/VMM/Makefile.kmk
r65989 r66125 314 314 315 315 VBoxVMM_LIBS.win = $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib 316 VBoxVMM_LDFLAGS.linux = -Wl,--no-undefined316 VBoxVMM_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED) 317 317 VBoxVMM_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxVMM.dylib 318 318 VBoxVMM_LDFLAGS.solaris = -mimpure-text
Note:
See TracChangeset
for help on using the changeset viewer.

