git: 3fd0f81ce50f - main - emulators/virtualbox-ose{,-kmod,-nox11}-72: Add new ports VirtualBox 7.2.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 29 Aug 2025 15:17:56 UTC
The branch main has been updated by vvd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=3fd0f81ce50f019564e04bf9fdc3161b2aec47c3
commit 3fd0f81ce50f019564e04bf9fdc3161b2aec47c3
Author: Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-08-29 14:59:22 +0000
Commit: Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-08-29 15:16:27 +0000
emulators/virtualbox-ose{,-kmod,-nox11}-72: Add new ports VirtualBox 7.2.0
Port based on patch from Stas Timokhin <devel@stasyan.com>.
The main work on porting was done by the author of the original patch.
The rest is a several various improvements and bug fixes that have been
made over the past few months in older versions and one upstream
regression: https://github.com/VirtualBox/virtualbox/issues/135
The requirements for 7.2.x are the same as for 7.1.x, but for now we'll
leave both versions: 7.2.x in experimental/test mode and 7.1.x - stable.
Upstream ported on aarch64, but for now we keep ONLY_FOR_ARCHS=amd64.
If you interested in porting it on aarch64 - create PR with patch.
The following ports also need to be created (they are not available for
versions 7.0.x and 7.1.x either):
- emulators/virtualbox-ose-additions-72;
- emulators/virtualbox-ose-additions-nox11-72.
www/phpvirtualbox-72 already in ports.
Changelog:
https://www.virtualbox.org/wiki/Changelog-7.2
While here refresh patches.
PR: 289019
Relnotes: Add VirtualBox 7.2.0
Co-authored-by: Stas Timokhin <devel@stasyan.com>
Co-authored-by: Mario Lobo <lobo@bsd.com.br>
---
emulators/Makefile | 3 +
emulators/virtualbox-ose-72/Makefile | 16 +-
emulators/virtualbox-ose-72/distinfo | 14 +-
emulators/virtualbox-ose-72/files/patch-Config.kmk | 213 +++++++++++----------
emulators/virtualbox-ose-72/files/patch-configure | 34 ++--
...patch-doc_manual_en__US_dita_UserManual.ditamap | 4 +-
.../files/patch-include-iprt-x86.h | 6 +-
.../files/patch-include_VBox_com_array.h | 8 +-
.../files/patch-include_VBox_sup.h | 6 +-
.../files/patch-include_iprt_string.h | 4 +-
...-Additions-common-VBoxGuest-VBoxGuest-freebsd.c | 26 +--
...Box-Additions-common-VBoxGuest-freebsd-Makefile | 8 +-
...itions-common-VBoxGuest-freebsd-files_vboxguest | 10 +-
...-VBox-Additions-x11-Installer-98vboxadd-xclient | 6 +-
...h-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h | 12 --
...ch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk | 8 +-
...HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt | 6 +-
.../files/patch-src-VBox-Installer-Makefile.kmk | 4 +-
...tch-src-VBox-Main-src-server-VirtualBoxImpl.cpp | 4 +-
...untime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h | 6 +-
...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 20 +-
...tch-src_VBox_Additions_common_pam_pam__vbox.cpp | 6 +-
.../patch-src_VBox_Additions_freebsd_Makefile | 6 +-
.../patch-src_VBox_Additions_freebsd_Makefile.kmk | 6 +-
...src_VBox_Additions_freebsd_drm_vboxvideo__drm.c | 4 +-
...ditions_freebsd_mount__vboxvfs_mount__vboxvfs.8 | 4 +-
...ditions_freebsd_mount__vboxvfs_mount__vboxvfs.c | 4 +-
...ch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h | 6 +-
..._VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c | 4 +-
...Box_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c | 13 +-
...VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c | 8 +-
...h-src_VBox_Additions_x11_vboxmouse_Makefile.kmk | 4 +-
...patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp | 4 +-
...VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp | 4 +-
.../files/patch-src_VBox_Devices_Makefile.kmk | 14 +-
.../patch-src_VBox_Devices_Network_DrvNAT.cpp | 4 +-
.../patch-src_VBox_Devices_PC_ipxe_Makefile.kmk | 10 +-
..._Devices_USB_freebsd_USBProxyDevice-freebsd.cpp | 4 +-
.../files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp | 8 +-
...rc_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp | 6 +-
...Box_Frontends_VBoxManage_VBoxManageModifyVM.cpp | 10 +-
..._VirtualBox_src_manager_UIVirtualBoxManager.cpp | 46 +++++
...ds_VirtualBox_src_manager_UIVirtualBoxManager.h | 20 ++
...s_VirtualBox_src_manager_UIVirtualBoxWidget.cpp | 24 +++
.../patch-src_VBox_HostDrivers_Support_SUPDrv.cpp | 6 +-
...h-src_VBox_HostDrivers_Support_SUPDrvInternal.h | 4 +-
...h-src_VBox_HostDrivers_Support_freebsd_Makefile | 10 +-
..._HostDrivers_Support_freebsd_SUPLib-freebsd.cpp | 6 +-
...VBox_HostDrivers_Support_freebsd_files__vboxdrv | 12 +-
...rc_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile | 4 +-
...ch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk | 4 +-
...rc_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile | 4 +-
...h-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp | 4 +-
.../files/patch-src_VBox_Main_Makefile.kmk | 6 +-
.../files/patch-src_VBox_Main_include_HostPower.h | 6 +-
.../patch-src_VBox_Main_src-server_HostImpl.cpp | 4 +-
..._Main_src-server_freebsd_PerformanceFreeBSD.cpp | 8 +-
.../files/patch-src_VBox_Runtime_Makefile.kmk | 10 +-
...Box_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c | 12 +-
...ox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c | 6 +-
...ime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c | 6 +-
...c_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c | 20 +-
..._Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c | 12 +-
...ime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c | 16 +-
...time_r0drv_freebsd_semfastmutex-r0drv-freebsd.c | 12 +-
..._Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c | 18 +-
..._Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c | 8 +-
...ox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c | 10 +-
...x_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c | 10 +-
...VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c | 6 +-
...Box_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c | 16 +-
...Box_Runtime_r3_posix_process-creation-posix.cpp | 12 +-
.../files/patch-src_VBox_VMM_Config.kmk | 6 +-
...VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp | 8 +-
.../files/patch-src_libs_xpcom18a4_Makefile.kmk | 4 +-
...ibs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c | 4 +-
...h-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h | 4 +-
emulators/virtualbox-ose-72/pkg-plist | 7 +-
emulators/virtualbox-ose-kmod-72/Makefile | 11 +-
emulators/virtualbox-ose-kmod-72/distinfo | 6 +-
emulators/virtualbox-ose-nox11-72/Makefile | 4 +-
81 files changed, 516 insertions(+), 427 deletions(-)
diff --git a/emulators/Makefile b/emulators/Makefile
index 3940ba358293..bdd2eb0d4009 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -158,6 +158,7 @@
SUBDIR += virtualbox-ose
SUBDIR += virtualbox-ose-70
SUBDIR += virtualbox-ose-71
+ SUBDIR += virtualbox-ose-72
SUBDIR += virtualbox-ose-additions
SUBDIR += virtualbox-ose-additions-legacy
SUBDIR += virtualbox-ose-additions-nox11
@@ -165,11 +166,13 @@
SUBDIR += virtualbox-ose-kmod
SUBDIR += virtualbox-ose-kmod-70
SUBDIR += virtualbox-ose-kmod-71
+ SUBDIR += virtualbox-ose-kmod-72
SUBDIR += virtualbox-ose-kmod-legacy
SUBDIR += virtualbox-ose-legacy
SUBDIR += virtualbox-ose-nox11
SUBDIR += virtualbox-ose-nox11-70
SUBDIR += virtualbox-ose-nox11-71
+ SUBDIR += virtualbox-ose-nox11-72
SUBDIR += virtualbox-ose-nox11-legacy
SUBDIR += visualboyadvance-m
SUBDIR += vmips
diff --git a/emulators/virtualbox-ose-72/Makefile b/emulators/virtualbox-ose-72/Makefile
index 7b5d79a0d306..3110b3efe1aa 100644
--- a/emulators/virtualbox-ose-72/Makefile
+++ b/emulators/virtualbox-ose-72/Makefile
@@ -1,10 +1,10 @@
PORTNAME= virtualbox-ose
-DISTVERSION= 7.1.12
+DISTVERSION= 7.2.0
PORTREVISION?= 0
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
LOCAL/vvd:docs
-PKGNAMESUFFIX?= -71
+PKGNAMESUFFIX?= -72
DISTFILES= VirtualBox-${DISTVERSION}${EXTRACT_SUFX}:src \
VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX}:docs
EXTRACT_ONLY= VirtualBox-${DISTVERSION}${EXTRACT_SUFX} \
@@ -25,7 +25,7 @@ BUILD_DEPENDS= gtar:archivers/gtar \
xsltproc:textproc/libxslt
LIB_DEPENDS= libpng.so:graphics/png \
libcurl.so:ftp/curl
-RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-71
+RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-72
USES= compiler:c++17-lang cpe gnome iconv pkgconfig qt:6 ssl tar:bzip2
CPE_VENDOR= oracle
@@ -45,10 +45,10 @@ CONFLICTS_INSTALL= virtualbox-ose-legacy \
virtualbox-ose-nox11 \
virtualbox-ose-70 \
virtualbox-ose-nox11-70 \
- virtualbox-ose-72 \
- virtualbox-ose-nox11-72
+ virtualbox-ose-71 \
+ virtualbox-ose-nox11-71
-PORTSCOUT= limit:^7\.1\.
+PORTSCOUT= limit:^7\.2\.
SUB_FILES= pkg-message
SUB_LIST= VBOXDIR=${VBOX_DIR} \
VBOX_ETC=${VBOX_ETC} \
@@ -148,9 +148,9 @@ ENV=
.include <bsd.port.options.mk>
.if ${SLAVE_PORT} == no
-CONFLICTS_INSTALL+= virtualbox-ose-nox11-71
+CONFLICTS_INSTALL+= virtualbox-ose-nox11-72
.else
-CONFLICTS_INSTALL+= virtualbox-ose-71
+CONFLICTS_INSTALL+= virtualbox-ose-72
.endif
.if ${PORT_OPTIONS:MDEBUG}
diff --git a/emulators/virtualbox-ose-72/distinfo b/emulators/virtualbox-ose-72/distinfo
index e7b992b0b10c..ed4ac420cdd3 100644
--- a/emulators/virtualbox-ose-72/distinfo
+++ b/emulators/virtualbox-ose-72/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1752700000
-SHA256 (VirtualBox-7.1.12.tar.bz2) = 6f9618f39168898134975f51df7c2d6d5129c0aa82b6ae11cf47f920c70df276
-SIZE (VirtualBox-7.1.12.tar.bz2) = 214691769
-SHA256 (VirtualBox-docs-7.1.12.tar.bz2) = ba48f2da2593d8cae56fcf601c132d77dbf1d16b1e26db162c89449250c269bd
-SIZE (VirtualBox-docs-7.1.12.tar.bz2) = 10109084
-SHA256 (VBoxGuestAdditions_7.1.12.iso) = 256883e2eabf7ab5c10fb3b6831c294942ce34bc615807f9d0cf6c3d2e882236
-SIZE (VBoxGuestAdditions_7.1.12.iso) = 61331456
+TIMESTAMP = 1756400000
+SHA256 (VirtualBox-7.2.0.tar.bz2) = 4f2804ff27848ea772aee6b637bb1e10ee74ec2da117c257413e2d2c4f670ba0
+SIZE (VirtualBox-7.2.0.tar.bz2) = 206755781
+SHA256 (VirtualBox-docs-7.2.0.tar.bz2) = 12b27989f2ab9b9316384322a8f1cdadd7003d2e2d6592298e1a84e81f5e0572
+SIZE (VirtualBox-docs-7.2.0.tar.bz2) = 9200668
+SHA256 (VBoxGuestAdditions_7.2.0.iso) = 43f7a1045cad0aab40e3af906fea37244ba6873b91b4e227245a14e51b399abd
+SIZE (VBoxGuestAdditions_7.2.0.iso) = 53143552
diff --git a/emulators/virtualbox-ose-72/files/patch-Config.kmk b/emulators/virtualbox-ose-72/files/patch-Config.kmk
index 7aaf90147847..c284262eb189 100644
--- a/emulators/virtualbox-ose-72/files/patch-Config.kmk
+++ b/emulators/virtualbox-ose-72/files/patch-Config.kmk
@@ -1,6 +1,6 @@
---- Config.kmk.orig 2025-05-10 18:43:02 UTC
+--- Config.kmk.orig 2025-08-28 22:09:24 UTC
+++ Config.kmk
-@@ -610,11 +610,11 @@ endif
+@@ -624,11 +624,11 @@ endif
# Enable OSS audio support.
VBOX_WITH_AUDIO_OSS = 1
endif
@@ -14,7 +14,7 @@
# Enable PulseAudio audio support.
VBOX_WITH_AUDIO_PULSE = 1
endif
-@@ -627,11 +627,11 @@ VBOX_WITH_PCI_PASSTHROUGH =
+@@ -641,11 +641,11 @@ VBOX_WITH_PCI_PASSTHROUGH =
# (disabled with 6.1, since it's not complete/useful enough)
VBOX_WITH_PCI_PASSTHROUGH =
# Enable statically linked dbus support.
@@ -28,7 +28,7 @@
VBOX_WITH_PAM = 1
endif
# Enable internal networking.
-@@ -639,7 +639,7 @@ VBOX_WITH_VMSVGA = 1
+@@ -653,7 +653,7 @@ VBOX_WITH_VMSVGA = 1
# Enable vmsvga (svga2) graphics device variant, 2D part
VBOX_WITH_VMSVGA = 1
# Enable vmsvga (svga2) graphics device variant, 3D part
@@ -37,7 +37,7 @@
VBOX_WITH_VMSVGA3D = 1
endif
# Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands
-@@ -825,7 +825,7 @@ VBOX_WITH_VBOXMANAGE_NLS = 1
+@@ -847,7 +847,7 @@ VBOX_WITH_VBOXMANAGE_NLS = 1
#endif
# Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems
# caused by our XPCOM library polluting the symbol namespace for system libs.
@@ -46,7 +46,7 @@
VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1
endif
# The webservices api.
-@@ -1357,10 +1357,6 @@ endif
+@@ -1376,10 +1376,6 @@ endif
endif
endif
@@ -57,7 +57,7 @@
ifeq ($(KBUILD_TARGET),haiku)
VBOX_WITH_VRDP_RDESKTOP =
# Permanent (no working SDL).
-@@ -1545,7 +1541,7 @@ ifdef VBOX_OSE
+@@ -1563,7 +1559,7 @@ ifdef VBOX_OSE
# not yet
VBOX_WITH_PLUGIN_CRYPT =
VBOX_WITH_DRAG_AND_DROP_PROMISES =
@@ -66,11 +66,12 @@
VBOX_WITH_DOCS =
VBOX_WITH_DOCS_PACKING =
endif
-@@ -3680,19 +3676,7 @@ ifndef VBOX_GCC_std
+@@ -3637,19 +3633,19 @@ ifndef VBOX_GCC_std
#
## @todo consider maxing this out.
ifndef VBOX_GCC_std
-- if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64) # Go straight for c++17 here.
+- if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64 linux.arm64) # Go straight for c++17 here.
++# if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64 linux.arm64) # Go straight for c++17 here.
VBOX_GCC_std := -std=c++17
- # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes.
- #VBOX_GCC_std := -std=c++17
@@ -83,10 +84,21 @@
- else if "$(VBOX_GCC_VERSION_CXX)" vge 40600
- VBOX_GCC_std := -std=c++0x
- endif
++# # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes.
++# #VBOX_GCC_std := -std=c++17
++# else if "$(VBOX_CLANG_VERSION_CXX)" vge 50000 # darwin Xcode 5 allegedly knows what C++11 is
++# VBOX_GCC_std := -std=c++11
++# # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12.
++# #VBOX_GCC_std := -std=gnu++17
++# else if "$(VBOX_GCC_VERSION_CXX)" vge 40800
++# VBOX_GCC_std := -std=c++11
++# else if "$(VBOX_GCC_VERSION_CXX)" vge 40600
++# VBOX_GCC_std := -std=c++0x
++# endif
endif
ifndef VBOX_VCC_std
if $(VBOX_VCC_TOOL_STEM) >= VCC141 # since 2017 15.3
-@@ -5682,11 +5666,11 @@ ifeq ($(VBOX_LDR_FMT),elf)
+@@ -5688,11 +5684,11 @@ ifeq ($(VBOX_LDR_FMT),elf)
# Solaris driver signing.
TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS)
else
@@ -100,7 +112,7 @@
VBOX_WITH_VBOXR0_AS_DLL = 1
TEMPLATE_VBoxR0_DLLSUFF = .r0
TEMPLATE_VBoxR0_CFLAGS += -fPIC
-@@ -5697,7 +5681,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
+@@ -5703,7 +5699,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
else
TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel
TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel
@@ -109,7 +121,7 @@
ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1
TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS
TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds
-@@ -6081,7 +6065,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -6100,7 +6096,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
# x86 FreeBSD (6.2 or something):
# cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \
# -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \
@@ -118,7 +130,7 @@
# -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \
# -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \
# -std=c99 -c ../my.c
-@@ -6092,7 +6076,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -6111,7 +6107,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
#
# AMD64 FreeBSD (7.1):
# cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \
@@ -127,7 +139,7 @@
# -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \
# -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \
# -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \
-@@ -6174,7 +6158,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -6193,7 +6189,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
| xargs -J% objcopy % $(outbase).kld
# Link the final .ko (a shared object).
@@ -136,8 +148,8 @@
endef
endif # x86
-@@ -6209,7 +6193,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
- $(VBOX_GCC_fdiagnostics-show-option) \
+@@ -6228,7 +6224,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
+ $(VBOX_GCC_fdiagnostics-show-option) $(VBOX_GCC_fdiagnostics-color) \
-Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
-Wimplicit-function-declaration -Werror-implicit-function-declaration \
- -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
@@ -145,7 +157,7 @@
$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -std=c99 -msoft-float
TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-mmx -mno-sse -mno-avx \
-@@ -6220,7 +6204,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
+@@ -6239,7 +6235,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
-fno-asynchronous-unwind-tables -mno-fp-ret-in-387
TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \
$(VBOX_GCC_WARN) -Wpointer-arith -Winline \
@@ -154,26 +166,26 @@
$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -msoft-float
TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)
-@@ -6528,11 +6512,11 @@ else # the gcc guys
- TEMPLATE_VBoxR3Exe_LIBS = pthread m rt dl
+@@ -6565,11 +6561,11 @@ else # the gcc guys
+ TEMPLATE_VBoxR3Exe_LATE_LIBS = pthread m rt dl
else ifeq ($(KBUILD_TARGET),os2)
TEMPLATE_VBoxR3Exe_TOOL = GXX3OMF
-- TEMPLATE_VBoxR3Exe_LIBS = socket iconv
-+ TEMPLATE_VBoxR3Exe_LIBS = socket
+- TEMPLATE_VBoxR3Exe_LATE_LIBS = socket iconv
++ TEMPLATE_VBoxR3Exe_LATE_LIBS = socket
else ifeq ($(KBUILD_TARGET),darwin)
TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_GCC_TOOL)
- TEMPLATE_VBoxR3Exe_LIBS =
+ TEMPLATE_VBoxR3Exe_LATE_LIBS =
- TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party libiconv (from macports).
+ TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party lib (from macports).
TEMPLATE_VBoxR3Exe_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS)
TEMPLATE_VBoxR3Exe_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS)
TEMPLATE_VBoxR3Exe_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common
-@@ -6549,17 +6533,26 @@ else # the gcc guys
+@@ -6585,24 +6581,29 @@ else # the gcc guys
else ifeq ($(KBUILD_TARGET),haiku)
TEMPLATE_VBoxR3Exe_TOOL = GXX3
- TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS)
-- TEMPLATE_VBoxR3Exe_LIBS = network iconv stdc++ supc++
-+ TEMPLATE_VBoxR3Exe_LIBS = network stdc++ supc++
+ TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS)
+- TEMPLATE_VBoxR3Exe_LATE_LIBS = network iconv stdc++ supc++
++ TEMPLATE_VBoxR3Exe_LATE_LIBS = network stdc++ supc++
TEMPLATE_VBoxR3Exe_LIBPATH += \
/boot/common/lib
# Haiku uses PIC by default...
@@ -181,23 +193,30 @@
TEMPLATE_VBoxR3Exe_CXXFLAGS += -fno-pic
TEMPLATE_VBoxR3Exe_LDFLAGS += -fno-pic
- else if1of ($(KBUILD_TARGET), freebsd openbsd)
-+ else ifeq ($(KBUILD_TARGET), freebsd)
++ else if1of ($(KBUILD_TARGET), freebsd)
TEMPLATE_VBoxR3Exe_TOOL = GXX3
- TEMPLATE_VBoxR3Exe_LIBS = pthread
+ TEMPLATE_VBoxR3Exe_LATE_LIBS = pthread
+ TEMPLATE_VBoxR3Exe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
+ TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd.x86 = -Wl,-z,notext
TEMPLATE_VBoxR3Exe_INCS += \
-+ /usr/local/include
-+ TEMPLATE_VBoxR3Exe_LIBPATH += \
-+ /usr/local/lib
+- /usr/include \
+- /usr/X11R6/include \
+ /usr/local/include
+ TEMPLATE_VBoxR3Exe_LIBPATH += \
+- /usr/lib \
+- /usr/X11R6/lib \
+ /usr/local/lib
+ else ifeq ($(KBUILD_TARGET), openbsd)
+ TEMPLATE_VBoxR3Exe_TOOL = GXX3
+ TEMPLATE_VBoxR3Exe_LIBS = pthread
+ TEMPLATE_VBoxR3Exe_INCS += \
- /usr/include \
- /usr/X11R6/include \
- /usr/local/include
-@@ -6578,7 +6571,7 @@ else # the gcc guys
++ /usr/include \
++ /usr/X11R6/include \
++ /usr/local/include
+ else ifeq ($(KBUILD_TARGET),netbsd)
+ TEMPLATE_VBoxR3Exe_TOOL = GXX3
+ TEMPLATE_VBoxR3Exe_LATE_LIBS = pthread
+@@ -6614,7 +6615,7 @@ else # the gcc guys
/usr/X11R7/lib
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxR3Exe_TOOL = GXX3PLAIN
@@ -206,7 +225,7 @@
if $(VBOX_GCC_VERSION_CC) < 30500
TEMPLATE_VBoxR3Exe_CFLAGS += -std=gnu99
endif
-@@ -6594,6 +6587,7 @@ else # the gcc guys
+@@ -6630,6 +6631,7 @@ else # the gcc guys
TEMPLATE_VBoxR3Exe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
endif
ifdef VBOX_WITH_ORIGIN
@@ -214,7 +233,7 @@
TEMPLATE_VBoxR3Exe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
endif
endif
-@@ -6808,7 +6802,7 @@ else
+@@ -6868,7 +6870,7 @@ else
ifdef VBOX_WITH_NOCRT_STATIC
TEMPLATE_VBoxR3StaticBase_DEFS += RT_WITH_NOCRT_WRAPPERS
endif
@@ -223,24 +242,24 @@
# The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
TEMPLATE_VBoxR3StaticBase_CFLAGS = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static
TEMPLATE_VBoxR3StaticBase_CXXFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static
-@@ -6876,7 +6870,7 @@ else
- $(SDK_VBoxZlib_LIBS) \
+@@ -6936,7 +6938,7 @@ else
+ $(SDK_VBoxZlib_LATE_LIBS) \
$(SDK_VBoxLibLzma_LIBS)
if1of ($(KBUILD_TARGET), darwin freebsd)
-- TEMPLATE_VBoxR3Static_LIBS += iconv
-+ TEMPLATE_VBoxR3Static_LIBS +=
+- TEMPLATE_VBoxR3Static_LATE_LIBS += iconv
++ TEMPLATE_VBoxR3Static_LATE_LIBS +=
else ifeq ($(KBUILD_TARGET),solaris)
- TEMPLATE_VBoxR3Static_LIBS += kstat
+ TEMPLATE_VBoxR3Static_LATE_LIBS += kstat
endif
-@@ -7048,6 +7042,7 @@ else ifn1of ($(KBUILD_TARGET), os2)
+@@ -7137,6 +7139,7 @@ else ifn1of ($(KBUILD_TARGET), os2)
else ifn1of ($(KBUILD_TARGET), os2)
ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y.
- TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS))
-+ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd))
- TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux))
+ TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS))
++ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd))
+ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux))
endif
endif
-@@ -7079,6 +7074,7 @@ ifn1of ($(KBUILD_TARGET), win os2)
+@@ -7168,6 +7171,7 @@ ifn1of ($(KBUILD_TARGET), win os2)
$(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,)
ifn1of ($(KBUILD_TARGET), win os2)
TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS))
@@ -248,7 +267,7 @@
TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.linux))
endif
-@@ -7102,6 +7098,7 @@ ifndef VBOX_WITH_HARDENING
+@@ -7192,6 +7196,7 @@ ifndef VBOX_WITH_HARDENING
TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
endif
ifdef VBOX_WITH_ORIGIN
@@ -256,7 +275,7 @@
TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
endif
endif
-@@ -7454,7 +7451,7 @@ else # the GCC guys:
+@@ -7570,7 +7575,7 @@ else # the GCC guys:
endif
TEMPLATE_VBoxMainExe_CXXFLAGS = -g $(VBOX_GCC_pipe) \
$(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \
@@ -265,20 +284,20 @@
$(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \
$(VBOX_GCC_SANITIZER_FLAGS)
if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor")
-@@ -7518,10 +7515,19 @@ else # the GCC guys:
+@@ -7633,10 +7638,19 @@ else # the GCC guys:
else ifeq ($(KBUILD_TARGET),haiku)
TEMPLATE_VBoxMainExe_TOOL = GXX3
- TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) network stdc++ supc++
+ TEMPLATE_VBoxMainExe_LATE_LIBS = $(LIB_RUNTIME) network stdc++ supc++
- else if1of ($(KBUILD_TARGET), freebsd openbsd)
-+ else ifeq ($(KBUILD_TARGET), freebsd)
++ else if1of ($(KBUILD_TARGET), freebsd)
TEMPLATE_VBoxMainExe_TOOL = GXX3
- TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME)
+ TEMPLATE_VBoxMainExe_LATE_LIBS = $(LIB_RUNTIME)
+ TEMPLATE_VBoxMainExe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
+ TEMPLATE_VBoxMainExe_LDFLAGS.freebsd.x86 = -Wl,-z,notext
TEMPLATE_VBoxMainExe_INCS += \
-+ /usr/local/include
++ /usr/local/include
+ TEMPLATE_VBoxMainExe_LIBPATH += \
-+ /usr/local/lib
++ /usr/local/lib
+ else ifeq ($(KBUILD_TARGET), openbsd)
+ TEMPLATE_VBoxMainExe_TOOL = GXX3
+ TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME)
@@ -286,7 +305,7 @@
/usr/include \
/usr/X11R6/include \
/usr/local/include
-@@ -7553,6 +7559,7 @@ else # the GCC guys:
+@@ -7668,6 +7682,7 @@ else # the GCC guys:
TEMPLATE_VBoxMainExe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
endif
ifdef VBOX_WITH_ORIGIN
@@ -294,7 +313,7 @@
TEMPLATE_VBoxMainExe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
endif
-@@ -8181,14 +8188,13 @@ ifdef VBOX_WITH_QTGUI
+@@ -8352,14 +8367,13 @@ ifdef VBOX_WITH_QTGUI
TEMPLATE_VBoxQtGuiExe_LIBPATH += \
$(VBOX_LIBPATH_X11)
ifeq ($(KBUILD_TARGET),freebsd)
@@ -312,31 +331,31 @@
endif
ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed.
-@@ -8460,7 +8466,7 @@ else
- TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl
+@@ -8623,7 +8637,7 @@ else
+ TEMPLATE_VBoxBldProg_LATE_LIBS = pthread m rt dl
else ifeq ($(KBUILD_HOST),os2)
TEMPLATE_VBoxBldProg_TOOL = GXX3OMF
-- TEMPLATE_VBoxBldProg_LIBS = socket iconv
-+ TEMPLATE_VBoxBldProg_LIBS = socket
+- TEMPLATE_VBoxBldProg_LATE_LIBS = socket iconv
++ TEMPLATE_VBoxBldProg_LATE_LIBS = socket
else ifeq ($(KBUILD_HOST),darwin)
TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7"
-@@ -8500,13 +8506,20 @@ else
- TEMPLATE_VBoxBldProg_LIBS =
+@@ -8663,13 +8677,20 @@ else
+ TEMPLATE_VBoxBldProg_LATE_LIBS =
else ifeq ($(KBUILD_HOST),haiku)
TEMPLATE_VBoxBldProg_TOOL = GXX3
-- TEMPLATE_VBoxBldProg_LIBS = network iconv
-+ TEMPLATE_VBoxBldProg_LIBS = network
+- TEMPLATE_VBoxBldProg_LATE_LIBS = network iconv
++ TEMPLATE_VBoxBldProg_LATE_LIBS = network
TEMPLATE_VBoxBldProg_LIBPATH += \
/boot/common/lib
- else if1of ($(KBUILD_HOST), freebsd openbsd)
-+ else ifeq ($(KBUILD_HOST), freebsd)
++ else if1of ($(KBUILD_HOST), freebsd)
TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
- TEMPLATE_VBoxBldProg_LIBS = pthread
+ TEMPLATE_VBoxBldProg_LATE_LIBS = pthread
TEMPLATE_VBoxBldProg_INCS += \
-+ /usr/local/include
++ /usr/local/include
+ TEMPLATE_VBoxBldProg_LIBPATH += \
-+ /usr/local/lib
++ /usr/local/lib
+ else ifeq ($(KBUILD_HOST), openbsd)
+ TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
+ TEMPLATE_VBoxBldProg_LIBS = pthread
@@ -344,21 +363,21 @@
/usr/include \
/usr/X11R6/include \
/usr/local/include
-@@ -8553,11 +8566,11 @@ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
- $(TEMPLATE_VBoxBldProg_LIBS)
- TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
- $(TEMPLATE_VBoxAdvBldProg_LIBS) \
+@@ -8716,11 +8737,11 @@ TEMPLATE_VBoxAdvBldProg_LATE_LIBS.darwin = \
+ $(TEMPLATE_VBoxBldProg_LATE_LIBS)
+ TEMPLATE_VBoxAdvBldProg_LATE_LIBS.darwin = \
+ $(TEMPLATE_VBoxAdvBldProg_LATE_LIBS) \
- iconv \
-+ \
- $(TEMPLATE_VBoxBldProg_LIBS.darwin)
- TEMPLATE_VBoxAdvBldProg_LIBS.freebsd = \
- $(TEMPLATE_VBoxAdvBldProg_LIBS) \
++ \
+ $(TEMPLATE_VBoxBldProg_LATE_LIBS.darwin)
+ TEMPLATE_VBoxAdvBldProg_LATE_LIBS.freebsd = \
+ $(TEMPLATE_VBoxAdvBldProg_LATE_LIBS) \
- iconv \
-+ \
++ \
rt \
- $(TEMPLATE_VBoxBldProg_LIBS.freebsd)
- TEMPLATE_VBoxAdvBldProg_LIBS.linux = \
-@@ -8648,6 +8661,7 @@ else # the gcc guys
+ $(TEMPLATE_VBoxBldProg_LATE_LIBS.freebsd)
+ TEMPLATE_VBoxAdvBldProg_LATE_LIBS.linux = \
+@@ -8813,6 +8834,7 @@ else # the gcc guys
# Do not inherit sanitizer flags from VBoxR3Exe in guest executables. Deal with them separately.
TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.debug = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.debug = $(NO_SUCH_VARIABLE)
@@ -366,16 +385,16 @@
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.linux))
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.debug = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS))
-@@ -8671,7 +8685,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
+@@ -8836,7 +8858,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
ifeq ($(KBUILD_TARGET),linux) # As few libs as possible on linux.
- TEMPLATE_VBoxGuestR3ExeBase_LIBS = pthread rt m dl
+ TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = pthread rt m dl
else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
-- TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) iconv
-+ TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS)
+- TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LATE_LIBS) iconv
++ TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LATE_LIBS)
else ifeq ($(KBUILD_TARGET),solaris)
- TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) nsl
+ TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LATE_LIBS) nsl
endif
-@@ -8684,6 +8698,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP
+@@ -8849,6 +8871,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP
$(VBOX_GCC_fno-stack-protector)
TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.linux)
# The GNU_HASH ELF tag is not supported by older systems.
@@ -383,7 +402,7 @@
TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux += $(VBOX_LD_hash_style_sysv)
-@@ -8929,6 +8944,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET
+@@ -9085,6 +9108,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET
TEMPLATE_VBoxGuestR3XFree86Mod_CXXFLAGS.linux = $(VBOX_GCC_fno-stack-protector) # Remove symvers.h
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
# The GNU_HASH ELF tag is not supported by older glibc dynamic linkers.
@@ -391,12 +410,12 @@
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.linux = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS := -r
-@@ -8970,7 +8986,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) =
- TEMPLATE_VBoxGuestR3XOrgMod_LIBS = $(VBOX_LIB_VBGL_R3_XORG)
- TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
- TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
--TEMPLATE_VBoxGuestR3XOrgMod_LIBS.freebsd += iconv
-+TEMPLATE_VBoxGuestR3XOrgMod_LIBS.freebsd +=
-
-
- #
+@@ -9128,7 +9152,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TARGET)
+ TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS = $(VBOX_LIB_VBGL_R3_XORG)
+ TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
+-TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.freebsd = iconv
++TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.freebsd =
+ TEMPLATE_VBoxGuestR3XOrgMod_LIBS = $(NO_SUCH_VARIABLE) # These three aren't necessary, just being careful.
+ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
diff --git a/emulators/virtualbox-ose-72/files/patch-configure b/emulators/virtualbox-ose-72/files/patch-configure
index 3645d1236ea8..76ed44e26acf 100644
--- a/emulators/virtualbox-ose-72/files/patch-configure
+++ b/emulators/virtualbox-ose-72/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2025-04-14 17:41:37 UTC
+--- configure.orig 2025-08-13 19:37:05 UTC
+++ configure
-@@ -158,10 +158,14 @@ if [ "$OS" = "freebsd" ]; then
+@@ -155,10 +155,14 @@ if [ "$OS" = "freebsd" ]; then
if [ "$OS" = "freebsd" ]; then
INCCURL="-I/usr/local/include"
LIBCURL="-L/usr/local/lib -lcurl"
@@ -15,7 +15,7 @@
else
INCCURL=""
LIBCURL="-lcurl"
-@@ -1211,6 +1215,9 @@ extern "C" int main(int argc, char** argv)
+@@ -1171,6 +1175,9 @@ extern "C" int main(int argc, char** argv)
printf("found version %d.%d.%d",
SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL);
#if SDL_VERSION_ATLEAST(1,2,7)
@@ -25,7 +25,7 @@
printf(", OK.\n");
return 0;
#else
-@@ -1295,7 +1302,7 @@ EOF
+@@ -1255,7 +1262,7 @@ EOF
#endif
}
EOF
@@ -34,7 +34,7 @@
test_execute
fi
}
-@@ -1599,6 +1606,7 @@ EOF
+@@ -1559,6 +1566,7 @@ EOF
SDKQT6=$PATH_SDK_QT6
fi
FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`"
@@ -42,19 +42,7 @@
else
log_failure "Qt6 framework not found (can be disabled using --disable-qt)"
fail
-@@ -1875,9 +1883,9 @@ check_libvorbis()
- if which_wrapper pkg-config > /dev/null; then
- libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG`
- if [ $? -eq 0 ]; then
-- FLGVRB=`pkg-config vorbis --cflags`
-+ FLGVRB=`pkg-config vorbis vorbisenc --cflags`
- INCVRB=`strip_I "$FLGVRB"`
-- LIBVRB=`pkg-config vorbis --libs`
-+ LIBVRB=`pkg-config vorbis vorbisenc --libs`
- fi
- cat > $ODIR.tmp_src.cc << EOF
- #include <cstdio>
-@@ -1927,7 +1935,7 @@ EOF
+@@ -1897,7 +1905,7 @@ EOF
return 0;
}
EOF
@@ -63,7 +51,7 @@
if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then
if test_execute; then
cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG"
-@@ -2194,8 +2202,8 @@ EOF
+@@ -2125,8 +2133,8 @@ EOF
echo "compiling the following source file:" >> $LOG
cat $ODIR.tmp_src.cc >> $LOG
echo "using the following command line:" >> $LOG
@@ -74,7 +62,7 @@
if [ $? -eq 0 ]; then
found=1
break
-@@ -2311,7 +2319,7 @@ check_gsoap()
+@@ -2246,7 +2254,7 @@ check_gsoap()
else
cnf_append "VBOX_GSOAP_CXX_SOURCES" ""
fi
@@ -83,7 +71,7 @@
gsoap_version=`pkg-config gsoapssl++ --modversion`
log_success "found version $gsoap_version"
return
-@@ -2687,7 +2695,7 @@ for option in "$@"; do
+@@ -2619,7 +2627,7 @@ for option in "$@"; do
--with-openssl-dir=*)
OPENSSLDIR=`echo $option | cut -d'=' -f2`
INCCRYPTO="-I${OPENSSLDIR}/include"
@@ -92,7 +80,7 @@
# On Darwin (at least for macports) static OpenSSL also needs zlib.
[ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a"
# On Linux static OpenSSL typically needs a few additional libraries.
-@@ -3054,12 +3062,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
+@@ -2978,12 +2986,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
[ $WITH_JAVA -eq 1 ] && check_java
# PulseAudio
@@ -121,7 +109,7 @@
fi
fi
-@@ -3075,14 +3093,6 @@ if [ "$OS" = "linux" ]; then
+@@ -2999,14 +3017,6 @@ if [ "$OS" = "linux" ]; then
cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1"
fi
if [ $ONLY_ADDITIONS -eq 0 ]; then
diff --git a/emulators/virtualbox-ose-72/files/patch-doc_manual_en__US_dita_UserManual.ditamap b/emulators/virtualbox-ose-72/files/patch-doc_manual_en__US_dita_UserManual.ditamap
index 93550ddbf766..c8337d7aeba6 100644
--- a/emulators/virtualbox-ose-72/files/patch-doc_manual_en__US_dita_UserManual.ditamap
+++ b/emulators/virtualbox-ose-72/files/patch-doc_manual_en__US_dita_UserManual.ditamap
@@ -1,6 +1,6 @@
---- doc/manual/en_US/dita/UserManual.ditamap.orig 2025-04-14 17:41:38 UTC
+--- doc/manual/en_US/dita/UserManual.ditamap.orig 2025-08-13 19:37:06 UTC
+++ doc/manual/en_US/dita/UserManual.ditamap
-@@ -613,7 +613,7 @@
+@@ -540,7 +540,7 @@
<topicref href="topics/security-model.dita"/>
<topicref href="topics/secure-config-vms.dita">
<topicref href="topics/security-networking.dita"/>
diff --git a/emulators/virtualbox-ose-72/files/patch-include-iprt-x86.h b/emulators/virtualbox-ose-72/files/patch-include-iprt-x86.h
index ca73a306df88..cedf78a0ef02 100644
--- a/emulators/virtualbox-ose-72/files/patch-include-iprt-x86.h
+++ b/emulators/virtualbox-ose-72/files/patch-include-iprt-x86.h
@@ -1,6 +1,6 @@
---- include/iprt/x86.h.orig 2021-04-20 04:22:23 UTC
+--- include/iprt/x86.h.orig 2025-08-13 19:37:26 UTC
+++ include/iprt/x86.h
-@@ -38,6 +38,16 @@
+@@ -53,6 +53,16 @@
# pragma D depends_on library vbox-types.d
#endif
@@ -15,5 +15,5 @@
+#endif
+
/** Workaround for Solaris sys/regset.h defining CS, DS and sys/controlregs.h
- * defining MSR_IA32_FLUSH_CMD */
+ * defining MSR_IA32_FLUSH_CMD and MSR_AMD_VIRT_SPEC_CTL */
#ifdef RT_OS_SOLARIS
diff --git a/emulators/virtualbox-ose-72/files/patch-include_VBox_com_array.h b/emulators/virtualbox-ose-72/files/patch-include_VBox_com_array.h
index 9d65058e6b50..77d77ddd3e11 100644
--- a/emulators/virtualbox-ose-72/files/patch-include_VBox_com_array.h
+++ b/emulators/virtualbox-ose-72/files/patch-include_VBox_com_array.h
@@ -1,6 +1,6 @@
---- include/VBox/com/array.h.orig 2021-01-07 15:31:25 UTC
+--- include/VBox/com/array.h.orig 2025-08-13 19:37:15 UTC
+++ include/VBox/com/array.h
-@@ -171,7 +171,7 @@
+@@ -181,7 +181,7 @@
#include "VBox/com/defs.h"
@@ -9,7 +9,7 @@
/** @def VBOX_WITH_TYPE_TRAITS
* Type traits are a C++ 11 feature, so not available everywhere (yet).
* Only GCC 4.6 or newer and MSVC++ 16.0 (Visual Studio 2010) or newer.
-@@ -960,12 +960,12 @@ class SafeArray : public Traits (public)
+@@ -1014,12 +1014,12 @@ class SafeArray : public Traits (public)
{
/** @todo r=klaus should do this as a AssertCompile, but cannot find a way which works. */
Assert(sizeof(T) <= sizeof(Zeroes));
@@ -25,7 +25,7 @@
return m.raw[aIdx];
#endif
}
-@@ -980,7 +980,7 @@ class SafeArray : public Traits (public)
+@@ -1034,7 +1034,7 @@ class SafeArray : public Traits (public)
#ifdef VBOX_WITH_XPCOM
return m.arr[aIdx];
#else
diff --git a/emulators/virtualbox-ose-72/files/patch-include_VBox_sup.h b/emulators/virtualbox-ose-72/files/patch-include_VBox_sup.h
index 9cf3fabe63f1..77fee2d23d0a 100644
--- a/emulators/virtualbox-ose-72/files/patch-include_VBox_sup.h
+++ b/emulators/virtualbox-ose-72/files/patch-include_VBox_sup.h
@@ -1,6 +1,6 @@
---- include/VBox/sup.h.orig 2024-12-27 04:08:45.986426000 +0100
-+++ include/VBox/sup.h 2024-12-27 04:09:08.925387000 +0100
-@@ -2248,7 +2248,7 @@
+--- include/VBox/sup.h.orig 2025-08-13 19:37:16 UTC
++++ include/VBox/sup.h
+@@ -2325,7 +2325,7 @@ SUPR0DECL(void) SUPR0BadContext(PSUPDRVSESSION pSessio
SUPR0DECL(void) SUPR0BadContext(PSUPDRVSESSION pSession, const char *pszFile, uint32_t uLine, const char *pszExpr);
diff --git a/emulators/virtualbox-ose-72/files/patch-include_iprt_string.h b/emulators/virtualbox-ose-72/files/patch-include_iprt_string.h
index 95119057d1ca..b06991588730 100644
--- a/emulators/virtualbox-ose-72/files/patch-include_iprt_string.h
+++ b/emulators/virtualbox-ose-72/files/patch-include_iprt_string.h
@@ -1,6 +1,6 @@
---- include/iprt/string.h.orig 2021-01-07 15:31:33 UTC
+--- include/iprt/string.h.orig 2025-08-13 19:37:25 UTC
+++ include/iprt/string.h
-@@ -46,6 +46,11 @@
+@@ -57,6 +57,11 @@
#elif defined(RT_OS_FREEBSD) && defined(_KERNEL)
RT_C_DECLS_BEGIN
# include <sys/libkern.h>
diff --git a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index e790f372f95f..5344a7ab812f 100644
--- a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -1,5 +1,5 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200
-+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-08-13 19:41:14 UTC
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
@@ -55,6 +55,7 @@
#include <sys/uio.h>
#include <sys/bus.h>
@@ -16,7 +16,7 @@
#include <iprt/initterm.h>
#include <iprt/process.h>
#include <iprt/string.h>
-@@ -112,8 +114,6 @@
+@@ -112,8 +114,6 @@ struct VBoxGuestDeviceState
struct resource *pIrqRes;
/** Pointer to the IRQ handler. */
void *pfnIrqHandler;
@@ -25,7 +25,7 @@
};
-@@ -123,8 +123,7 @@
+@@ -123,8 +123,7 @@ struct VBoxGuestDeviceState
/*
* Character device file handlers.
*/
@@ -35,7 +35,7 @@
static d_ioctl_t vgdrvFreeBSDIOCtl;
static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd);
static d_write_t vgdrvFreeBSDWrite;
-@@ -155,8 +154,7 @@
+@@ -155,8 +154,7 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
{
.d_version = D_VERSION,
.d_flags = D_TRACKCLOSE | D_NEEDMINOR,
@@ -45,7 +45,7 @@
.d_ioctl = vgdrvFreeBSDIOCtl,
.d_read = vgdrvFreeBSDRead,
.d_write = vgdrvFreeBSDWrite,
-@@ -164,81 +162,28 @@
+@@ -164,81 +162,28 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
.d_name = "vboxguest"
};
@@ -134,7 +134,7 @@
{
int rc;
PVBOXGUESTSESSION pSession;
-@@ -250,12 +195,6 @@
+@@ -250,12 +195,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
LogFlow(("vgdrvFreeBSDOpen:\n"));
/*
@@ -147,7 +147,7 @@
* Create a new session.
*/
fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
-@@ -272,47 +211,20 @@
+@@ -272,47 +211,20 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession);
if (RT_SUCCESS(rc))
{
@@ -201,7 +201,7 @@
/**
* I/O control request.
*
-@@ -326,8 +238,12 @@
+@@ -326,8 +238,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long
static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
{
PVBOXGUESTSESSION pSession;
@@ -215,7 +215,7 @@
/*
* Deal with the fast ioctl path first.
*/
-@@ -526,8 +442,10 @@
+@@ -526,8 +442,10 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv
LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
@@ -228,7 +228,7 @@
Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
}
-@@ -568,11 +486,8 @@
+@@ -568,11 +486,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice)
/*
*** 1888 LINES SKIPPED ***