Changeset 71694 in vbox
- Timestamp:
- Apr 6, 2018 8:27:41 AM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 121784
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Config.kmk
r71558 r71694 2851 2851 -fno-sanitize=vptr \ 2852 2852 -fno-common \ 2853 -static-libasan 2853 -include sanitizer/lsan_interface.h \ 2854 -DVBOX_WITH_GCC_SANITIZER 2854 2855 else 2855 2856 VBOX_GCC_SANITIZER_FLAGS = 2856 endif2857 2858 # -libasan-static is currently not supported in combination with -no-undefined.2859 ifdef VBOX_WITH_GCC_SANITIZER2860 VBOX_GCC_NO_UNDEFINED :=2861 VBOX_GCC_NO_UNDEFINED_R0 :=2862 else2863 VBOX_GCC_NO_UNDEFINED := -Wl,--no-undefined2864 VBOX_GCC_NO_UNDEFINED_R0 := -no-undefined2865 2857 endif 2866 2858 … … 4260 4252 $(QUIET)$$(if $$(eq $$(symvers_$(module)_dep),),,\ 4261 4253 $$(CP) $$(symvers_$(module)_dep) "$$(PATH_TARGET)/tst$(module)_mod/Module.symvers") 4262 + $(QUIET)make KBUILD_VERBOSE=$(KBUILD_VERBOSE) KERN_DIR=$(KERN_DIR) $(if-expr $(KMK_OPTS_JOBS) !=1,JOBS=$(KMK_OPTS_JOBS),) -C $$(PATH_TARGET)/tst$(module)_mod \4254 + $(QUIET)make KBUILD_VERBOSE=$(KBUILD_VERBOSE) KERN_DIR=$(KERN_DIR) $(if-expr $(KMK_OPTS_JOBS) > 1,JOBS=$(KMK_OPTS_JOBS),) -C $$(PATH_TARGET)/tst$(module)_mod \ 4263 4255 2>&1 | tee "$$(PATH_TARGET)/tst$(module)_mod/make.err" 4264 4256 $(QUIET)! grep "^WARNING: .* undefined!$$$$" "$$(PATH_TARGET)/tst$(module)_mod/make.err" … … 4697 4689 TEMPLATE_VBOXR3EXE_CXXFLAGS += $(VBOX_GCC_WERR) 4698 4690 endif 4699 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT4700 # Use older versions of APIs which were improved in versions of glibc later4701 # than what we are targetting, and do not use the stack protector, which4702 # needs glibc 2.4 or later.4703 TEMPLATE_VBOXR3EXE_CXXFLAGS.linux = \4704 -include $(PATH_ROOT)/include/iprt/linux/symvers.h \4705 $(VBOX_GCC_fno-stack-protector)4706 TEMPLATE_VBOXR3EXE_CFLAGS.linux = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.linux)4707 endif4708 4691 TEMPLATE_VBOXR3EXE_CXXFLAGS.x86 = -m32 4709 4692 TEMPLATE_VBOXR3EXE_CXXFLAGS.amd64 = -m64 … … 4737 4720 TEMPLATE_VBOXR3EXE_LDFLAGS.sparc64 = -m64 4738 4721 TEMPLATE_VBOXR3EXE_LDFLAGS.linux = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) 4739 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT4740 # The GNU_HASH ELF tag is not supported by older systems.4741 TEMPLATE_VBOXR3EXE_LDFLAGS.linux += -Wl,--hash-style=sysv4742 endif4743 4722 TEMPLATE_VBOXR3EXE_LDFLAGS.solaris = -Wl,-z,ignore # same as VBOX_LD_as_needed 4744 4723 TEMPLATE_VBOXR3EXE_LDFLAGS.debug = $(VBOX_GCC_SANITIZER_FLAGS) … … 6511 6490 endif 6512 6491 6492 # Use older versions of APIs which were improved in versions of glibc later 6493 # than what we are targetting, and do not use the stack protector, which 6494 # needs glibc 2.4 or later. 6495 TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux = \ 6496 -include $(PATH_ROOT)/include/iprt/linux/symvers.h \ 6497 $(VBOX_GCC_fno-stack-protector) 6498 TEMPLATE_VBOXGUESTR3EXE_CFLAGS.linux = $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux) 6499 # The GNU_HASH ELF tag is not supported by older systems. 6500 TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.linux += -Wl,--hash-style=sysv 6501 6513 6502 # 6514 6503 # Template for building normal R3 programs for the guest additions. … … 6712 6701 TEMPLATE_VBOXGUESTR3XF86MOD_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) 6713 6702 TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) 6714 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT6715 6703 # The GNU_HASH ELF tag is not supported by older systems. 6716 6704 TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.linux = --hash-style=sysv 6717 endif6718 6705 TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE) 6719 6706 TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS = -r -
trunk/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
r70936 r71694 68 68 supc++ \ 69 69 gcc_eh 70 ifdef VBOX_WITH_OLD_GLIBC_SUPPORT 71 # This has to be in LIBS, so as to be linked in after supc++ and gcc_eh, which 72 # depend on the symbols it provides. Static supc++ and gcc_eh on at least 73 # Ubuntu 17.04 contain references to __sprintf_chk and __stack_chk_fail. 74 # Furthermore, they contain references to memcpy, which needs to be resolved 75 # to memcpy@GLIBC_2.2.5, which we solve in a not-very-satisfactory way with a 76 # wrapper. 77 ifeq ($(KBUILD_TARGET),linux) 70 71 # The following is for ensuring binary compatibility for old Linux guests. 72 # This has to be in LIBS, so as to be linked in after supc++ and gcc_eh, which 73 # depend on the symbols it provides. Static supc++ and gcc_eh on at least 74 # Ubuntu 17.04 contain references to __sprintf_chk and __stack_chk_fail. 75 # Furthermore, they contain references to memcpy, which needs to be resolved 76 # to memcpy@GLIBC_2.2.5, which we solve in a not-very-satisfactory way with a 77 # wrapper. 78 ifeq ($(KBUILD_TARGET),linux) 78 79 VBoxClient_LIBS += \ 79 80 $(PATH_ROOT)/src/VBox/Additions/x11/VBoxClient/chk_stubs.c 80 81 VBoxClient_LDFLAGS.amd64 += \ 81 82 -Wl,--wrap=memcpy 82 endif83 83 endif 84 84
Note:
See TracChangeset
for help on using the changeset viewer.