1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-18 00:10:04 +00:00

emulators/virtualbox-ose{,-nox11,-kmod,-additions,-additions-nox11}-legacy: fix build with llvm15+, fix run with PAE on i386

* Fix build with llvm15+ from ports and from base:
  - ISO C++17 does not allow 'register' storage class specifier;
  - require -fPIC on i386.
* Fix load kernel modules on host and guest i386 if kernel compiled with
PAE option: add non-default option PAE to ports.
Based on patches from mi@.

PR:		279257 224616
Approved by:	vbox (maintainer, timeout 1 month and 6 years)
This commit is contained in:
Vladimir Druzenko 2024-06-28 22:08:33 +03:00
parent 889fdf6e28
commit c9de267a35
7 changed files with 354 additions and 20 deletions

View File

@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
PORTVERSION= 5.2.44
PORTREVISION?= 5
PORTREVISION?= 6
CATEGORIES= emulators
MASTER_SITES= https://download.oracle.com/virtualbox/${PORTVERSION}/
PKGNAMESUFFIX?= -additions-legacy
@ -46,12 +46,15 @@ CONFLICTS_INSTALL= virtualbox-ose \
virtualbox-ose-lite \
virtualbox-ose-nox11
EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware
PORTSCOUT= limit:^5\.
OPTIONS_DEFINE= DBUS DEBUG X11
OPTIONS_DEFINE= DBUS DEBUG X11
OPTIONS_DEFINE_i386= PAE
OPTIONS_DEFAULT= DBUS X11
OPTIONS_SUB= yes
OPTIONS_SUB= yes
PAE_DESC= Build kernel modules for PAE-kernels
DBUS_CONFIGURE_OFF= --disable-dbus
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DEBUG_CONFIGURE_ON= --build-debug
@ -131,6 +134,13 @@ post-patch:
${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
@${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
.endif
.if ${PORT_OPTIONS:MPAE}
@${ECHO_CMD} 'VBOX_FREEBSD = -DPAE' >> ${WRKSRC}/LocalConfig.kmk
.endif
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400093
@${REINPLACE_CMD} -e 's|enum vtype|enum enum_vtype_uint8|g' \
${WRKSRC}/src/VBox/Additions/freebsd/vboxvfs/vboxvfs*.[ch]
.endif
post-patch-X11-on:
@${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \

View File

@ -1,5 +1,5 @@
PKGNAMESUFFIX= -additions-nox11-legacy
PORTREVISION= 4
PORTREVISION= 5
OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11

View File

@ -43,11 +43,13 @@ CONFLICTS_INSTALL= virtualbox-ose-kmod
PORTSCOUT= limit:^5\.
OPTIONS_DEFINE= DEBUG VIMAGE
OPTIONS_DEFAULT=VIMAGE
OPTIONS_SUB= yes
DEBUG_DESC= Debug symbols, additional logs and assertions
VIMAGE_DESC= VIMAGE virtual networking support
OPTIONS_DEFINE= DEBUG VIMAGE
OPTIONS_DEFINE_i386= PAE
OPTIONS_DEFAULT= VIMAGE
OPTIONS_SUB= yes
DEBUG_DESC= Debug symbols, additional logs and assertions
PAE_DESC= Build kernel modules for PAE-kernels
VIMAGE_DESC= VIMAGE virtual networking support
.include <bsd.port.options.mk>
@ -91,6 +93,9 @@ post-patch:
@${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
.if ${PORT_OPTIONS:MVIMAGE}
@${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk
.endif
.if ${PORT_OPTIONS:MPAE}
@${ECHO_CMD} 'VBOX_FREEBSD = -DPAE' >> ${WRKSRC}/LocalConfig.kmk
.endif
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/Config.kmk ${WRKSRC}/configure

View File

@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
PORTVERSION= 5.2.44
PORTREVISION?= 18
PORTREVISION?= 19
CATEGORIES= emulators
MASTER_SITES= https://download.oracle.com/virtualbox/${PORTVERSION}/:src \
LOCAL/bofh/emulators/virtualbox-ose-legacy:docs
@ -110,9 +110,6 @@ X11_USES= sdl xorg
X11_USE= SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt
X11_CONFIGURE_OFF= --build-headless
ENV=
.export ENV
PLIST_SUB= GUEST_VER=${PORTVERSION} \
PYTHON_VERU=${PYTHON_VER:S/./_/}${PYTHON_ABIVER} \
VBOXGROUP=${VBOXGROUP}
@ -194,11 +191,10 @@ KMK_FLAGS+= -j${MAKE_JOBS_NUMBER}
.include <bsd.port.pre.mk>
.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && \
(${OSVERSION} < 1302505 || (${OSVERSION} >= 1400000 && ${OSVERSION} < 1400079) || \
${OSVERSION} >= 1400091)
# llvm 13, 14 and 16 included in FreeBSD fails to compile this legacy version of
# virtualbox-ose, force llvm 15 on all versions of the FreeBSD except lastest 13
# and several versions of 14 where the llvm 15 is included: PR#265539.
(${OSVERSION} < 1302505 || (${OSVERSION} >= 1400000 && ${OSVERSION} < 1400079))
# llvm before 15 included in old versions of the FreeBSD 13 and 14 fails to compile
# this legacy version of virtualbox-ose, force llvm 15 on those versions of the
# FreeBSD: PR#265539, 279257.
# Keep possibility to define different llvm via VBOX_LLVM_VER in make.conf.
BUILD_DEPENDS+= clang${VBOX_LLVM_VER}:devel/llvm${VBOX_LLVM_VER}
CC= clang${VBOX_LLVM_VER}
@ -276,10 +272,15 @@ post-patch:
${WRKSRC}/LocalConfig.kmk
@${ECHO_CMD} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> \
${WRKSRC}/LocalConfig.kmk
@${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \
@${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long \
-Wno-dynamic-exception-spec -D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION' >> \
${WRKSRC}/LocalConfig.kmk
@${REINPLACE_CMD} -E -e '/soap_socket_errno\(/s/(soap_socket_errno)(\([^)]+\))/\1/' \
${WRKSRC}/src/VBox/Main/webservice/vboxweb.cpp
.else
@${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wno-dynamic-exception-spec \
-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION' >> \
${WRKSRC}/LocalConfig.kmk
.endif
@${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
-e 's| -mpreferred-stack-boundary=2||' \
@ -304,6 +305,9 @@ post-patch:
@${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \
${WRKSRC}/src/VBox/Runtime/Makefile.kmk
@${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
.endif
.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD && ${ARCH} == i386
@${ECHO_CMD} 'VBOX_FREEBSD = -fPIC' >> ${WRKSRC}/LocalConfig.kmk
.endif
@${REINPLACE_CMD} -e 's|%%VBOX_DIR%%|${VBOX_DIR}|g' \
-e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \
@ -312,6 +316,10 @@ post-patch:
@${REINPLACE_CMD} \
-e 's|^versions =.*|versions = ["${PYTHON_VER}${PYTHON_ABIVER}"]|' \
${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1400093
@${REINPLACE_CMD} -e 's|enum vtype|enum enum_vtype_uint8|g' \
${WRKSRC}/src/VBox/Additions/freebsd/vboxvfs/vboxvfs*.[ch]
.endif
do-build:
cd ${WRKSRC} && ${SH} -c '. ${WRKSRC}/env.sh && \

View File

@ -0,0 +1,301 @@
--- src/VBox/Runtime/common/log/logcom.cpp
+++ src/VBox/Runtime/common/log/logcom.cpp
@@ -121,6 +121,6 @@
for (pu8 = (const uint8_t *)pach; cb-- > 0; pu8++)
{
- register unsigned cMaxWait;
- register uint8_t u8;
+ unsigned cMaxWait;
+ uint8_t u8;
/* expand \n -> \r\n */
--- src/VBox/Runtime/common/table/avl_Range.cpp.h
+++ src/VBox/Runtime/common/table/avl_Range.cpp.h
@@ -36,7 +36,7 @@
* @param Key The Key to find matching range for.
*/
-KAVL_DECL(PKAVLNODECORE) KAVL_FN(RangeGet)(PPKAVLNODECORE ppTree, register KAVLKEY Key)
+KAVL_DECL(PKAVLNODECORE) KAVL_FN(RangeGet)(PPKAVLNODECORE ppTree, KAVLKEY Key)
{
- register PKAVLNODECORE pNode = KAVL_GET_POINTER_NULL(ppTree);
+ PKAVLNODECORE pNode = KAVL_GET_POINTER_NULL(ppTree);
if (pNode)
{
--- src/VBox/Runtime/common/table/avl_GetBestFit.cpp.h
+++ src/VBox/Runtime/common/table/avl_GetBestFit.cpp.h
@@ -44,5 +44,5 @@
KAVL_DECL(PKAVLNODECORE) KAVL_FN(GetBestFit)(PPKAVLNODECORE ppTree, KAVLKEY Key, bool fAbove)
{
- register PKAVLNODECORE pNode = KAVL_GET_POINTER_NULL(ppTree);
+ PKAVLNODECORE pNode = KAVL_GET_POINTER_NULL(ppTree);
if (pNode)
{
--- src/VBox/Runtime/common/table/avl_Get.cpp.h
+++ src/VBox/Runtime/common/table/avl_Get.cpp.h
@@ -38,5 +38,5 @@
KAVL_DECL(PKAVLNODECORE) KAVL_FN(Get)(PPKAVLNODECORE ppTree, KAVLKEY Key)
{
- register PKAVLNODECORE pNode = KAVL_GET_POINTER_NULL(ppTree);
+ PKAVLNODECORE pNode = KAVL_GET_POINTER_NULL(ppTree);
if (pNode)
--- src/VBox/Runtime/common/table/avl_Base.cpp.h
+++ src/VBox/Runtime/common/table/avl_Base.cpp.h
@@ -267,5 +267,5 @@
else
{
- register unsigned char uchHeight = (unsigned char)(KMAX(uchLeftHeight, uchRightHeight) + 1);
+ unsigned char uchHeight = (unsigned char)(KMAX(uchLeftHeight, uchRightHeight) + 1);
if (uchHeight == pNode->uchHeight)
break;
@@ -301,8 +301,8 @@
KAVLSTACK AVLStack;
PPKAVLNODECORE ppCurNode = ppTree;
- register PKAVLNODECORE pCurNode;
- register KAVLKEY Key = pNode->Key; NOREF(Key);
+ PKAVLNODECORE pCurNode;
+ KAVLKEY Key = pNode->Key; NOREF(Key);
#ifdef KAVL_RANGE
- register KAVLKEY KeyLast = pNode->KeyLast; NOREF(KeyLast);
+ KAVLKEY KeyLast = pNode->KeyLast; NOREF(KeyLast);
#endif
@@ -401,5 +401,5 @@
KAVLSTACK AVLStack;
PPKAVLNODECORE ppDeleteNode = ppTree;
- register PKAVLNODECORE pDeleteNode;
+ PKAVLNODECORE pDeleteNode;
AVLStack.cEntries = 0;
@@ -428,5 +428,5 @@
const unsigned iStackEntry = AVLStack.cEntries;
PPKAVLNODECORE ppLeftLeast = &pDeleteNode->pLeft;
- register PKAVLNODECORE pLeftLeast = KAVL_GET_POINTER(ppLeftLeast);
+ PKAVLNODECORE pLeftLeast = KAVL_GET_POINTER(ppLeftLeast);
while (pLeftLeast->pRight != KAVL_NULL)
--- src/VBox/Runtime/common/string/utf-16.cpp
+++ src/VBox/Runtime/common/string/utf-16.cpp
@@ -195,5 +195,5 @@
-RTDECL(int) RTUtf16Cmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2)
+RTDECL(int) RTUtf16Cmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2)
{
if (pwsz1 == pwsz2)
@@ -206,6 +206,6 @@
for (;;)
{
- register RTUTF16 wcs = *pwsz1;
- register int iDiff = wcs - *pwsz2;
+ RTUTF16 wcs = *pwsz1;
+ int iDiff = wcs - *pwsz2;
if (iDiff || !wcs)
return iDiff;
--- src/VBox/Runtime/common/string/utf-16-case.cpp
+++ src/VBox/Runtime/common/string/utf-16-case.cpp
@@ -40,5 +40,5 @@
-RTDECL(int) RTUtf16ICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2)
+RTDECL(int) RTUtf16ICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2)
{
if (pwsz1 == pwsz2)
@@ -52,7 +52,7 @@
for (;;)
{
- register RTUTF16 wc1 = *pwsz1;
- register RTUTF16 wc2 = *pwsz2;
- register int iDiff = wc1 - wc2;
+ RTUTF16 wc1 = *pwsz1;
+ RTUTF16 wc2 = *pwsz2;
+ int iDiff = wc1 - wc2;
if (iDiff)
{
@@ -107,5 +107,5 @@
-RTDECL(int) RTUtf16BigICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2)
+RTDECL(int) RTUtf16BigICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2)
{
if (pwsz1 == pwsz2)
@@ -119,7 +119,7 @@
for (;;)
{
- register RTUTF16 wc1 = *pwsz1;
- register RTUTF16 wc2 = *pwsz2;
- register int iDiff = wc1 - wc2;
+ RTUTF16 wc1 = *pwsz1;
+ RTUTF16 wc2 = *pwsz2;
+ int iDiff = wc1 - wc2;
if (iDiff)
{
@@ -217,5 +217,5 @@
-RTDECL(int) RTUtf16NICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2, size_t cwcMax)
+RTDECL(int) RTUtf16NICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2, size_t cwcMax)
{
if (pwsz1 == pwsz2)
@@ -229,7 +229,7 @@
while (cwcMax-- > 0)
{
- register RTUTF16 wc1 = *pwsz1;
- register RTUTF16 wc2 = *pwsz2;
- register int iDiff = wc1 - wc2;
+ RTUTF16 wc1 = *pwsz1;
+ RTUTF16 wc2 = *pwsz2;
+ int iDiff = wc1 - wc2;
if (iDiff)
{
@@ -290,5 +290,5 @@
-RTDECL(int) RTUtf16BigNICmp(register PCRTUTF16 pwsz1, register PCRTUTF16 pwsz2, size_t cwcMax)
+RTDECL(int) RTUtf16BigNICmp(PCRTUTF16 pwsz1, PCRTUTF16 pwsz2, size_t cwcMax)
{
if (pwsz1 == pwsz2)
@@ -302,7 +302,7 @@
while (cwcMax-- > 0)
{
- register RTUTF16 wc1 = *pwsz1;
- register RTUTF16 wc2 = *pwsz2;
- register int iDiff = wc1 - wc2;
+ RTUTF16 wc1 = *pwsz1;
+ RTUTF16 wc2 = *pwsz2;
+ int iDiff = wc1 - wc2;
if (iDiff)
{
--- src/VBox/HostDrivers/VBoxUSB/USBLib.cpp.orig
+++ src/VBox/HostDrivers/VBoxUSB/USBLib.cpp
@@ -45,11 +45,11 @@ USBLIB_DECL(uint64_t) USBLibHashSerial(const char *psz
if (!pszSerial)
pszSerial = "";
- register const uint8_t *pu8 = (const uint8_t *)pszSerial;
- register uint64_t u64 = UINT64_C(14695981039346656037);
+ const uint8_t *pu8 = (const uint8_t *)pszSerial;
+ uint64_t u64 = UINT64_C(14695981039346656037);
for (;;)
{
- register uint8_t u8 = *pu8;
+ uint8_t u8 = *pu8;
if (!u8)
break;
u64 = (u64 * UINT64_C(1099511628211)) ^ u8;
--- src/VBox/Runtime/common/checksum/crc32-zlib.cpp.orig
+++ src/VBox/Runtime/common/checksum/crc32-zlib.cpp
@@ -51,7 +51,7 @@ static uint32_t rtCrc32ProcessTooBig(uint32_t uCRC32,
return uCRC32;
}
-RTDECL(uint32_t) RTCrc32(const void *pv, register size_t cb)
+RTDECL(uint32_t) RTCrc32(const void *pv, size_t cb)
{
uint32_t uCrc = crc32(0, NULL, 0);
if (RT_UNLIKELY((uInt)cb == cb))
--- src/VBox/Devices/Network/DevPCNet.cpp.orig
+++ src/VBox/Devices/Network/DevPCNet.cpp
@@ -1242,8 +1242,8 @@ static void pcnetSoftReset(PPCNETSTATE pThis)
*/
static void pcnetUpdateIrq(PPCNETSTATE pThis)
{
- register int iISR = 0;
- register uint16_t csr0 = pThis->aCSR[0];
+ int iISR = 0;
+ uint16_t csr0 = pThis->aCSR[0];
csr0 &= ~0x0080; /* clear INTR */
--- src/VBox/VMM/VMMAll/PGMAllGst.h.orig
+++ src/VBox/VMM/VMMAll/PGMAllGst.h
@@ -92,7 +92,7 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
return PGM_GST_NAME(WalkReturnNotPresent)(pVCpu, pWalk, 8);
# endif
- uint32_t register fEffective = X86_PTE_RW | X86_PTE_US | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_A | 1;
+ uint32_t fEffective = X86_PTE_RW | X86_PTE_US | X86_PTE_PWT | X86_PTE_PCD | X86_PTE_A | 1;
{
# if PGM_GST_TYPE == PGM_TYPE_AMD64
/*
@@ -102,9 +102,9 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
if (RT_SUCCESS(rc)) { /* probable */ }
else return PGM_GST_NAME(WalkReturnBadPhysAddr)(pVCpu, pWalk, 4, rc);
- PX86PML4E register pPml4e;
+ PX86PML4E pPml4e;
pWalk->pPml4e = pPml4e = &pWalk->pPml4->a[(GCPtr >> X86_PML4_SHIFT) & X86_PML4_MASK];
- X86PML4E register Pml4e;
+ X86PML4E Pml4e;
pWalk->Pml4e.u = Pml4e.u = pPml4e->u;
if (Pml4e.n.u1Present) { /* probable */ }
@@ -131,9 +131,9 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
}
{
# if PGM_GST_TYPE == PGM_TYPE_AMD64 || PGM_GST_TYPE == PGM_TYPE_PAE
- PX86PDPE register pPdpe;
+ PX86PDPE pPdpe;
pWalk->pPdpe = pPdpe = &pWalk->pPdpt->a[(GCPtr >> GST_PDPT_SHIFT) & GST_PDPT_MASK];
- X86PDPE register Pdpe;
+ X86PDPE Pdpe;
pWalk->Pdpe.u = Pdpe.u = pPdpe->u;
if (Pdpe.n.u1Present) { /* probable */ }
@@ -164,7 +164,7 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
# endif
}
{
- PGSTPDE register pPde;
+ PGSTPDE pPde;
pWalk->pPde = pPde = &pWalk->pPd->a[(GCPtr >> GST_PD_SHIFT) & GST_PD_MASK];
GSTPDE Pde;
pWalk->Pde.u = Pde.u = pPde->u;
@@ -221,9 +221,9 @@ DECLINLINE(int) PGM_GST_NAME(Walk)(PVMCPU pVCpu, RTGCP
else return PGM_GST_NAME(WalkReturnBadPhysAddr)(pVCpu, pWalk, 1, rc);
}
{
- PGSTPTE register pPte;
+ PGSTPTE pPte;
pWalk->pPte = pPte = &pWalk->pPt->a[(GCPtr >> GST_PT_SHIFT) & GST_PT_MASK];
- GSTPTE register Pte;
+ GSTPTE Pte;
pWalk->Pte.u = Pte.u = pPte->u;
if (Pte.n.u1Present) { /* probable */ }
--- include/VBox/HostServices/Service.h.orig
+++ include/VBox/HostServices/Service.h
@@ -358,11 +358,11 @@ class AbstractService: public RTCNonCopyable (public)
else
{
RT_GCC_NO_WARN_DEPRECATED_BEGIN
- std::auto_ptr<AbstractService> apService;
+ std::unique_ptr<AbstractService> apService;
/* No exceptions may propagate outside. */
try
{
- apService = std::auto_ptr<AbstractService>(new T(pTable->pHelpers));
+ apService = std::unique_ptr<AbstractService>(new T(pTable->pHelpers));
} catch (int rcThrown)
{
rc = rcThrown;
--- src/VBox/Main/src-server/PerformanceImpl.cpp.orig
+++ src/VBox/Main/src-server/PerformanceImpl.cpp
@@ -699,7 +699,7 @@ void PerformanceCollector::samplerCallback(uint64_t iT
* Those should be destroyed now.
*/
Log7Func(("{%p}: before remove_if: toBeCollected.size()=%d\n", this, toBeCollected.size()));
- toBeCollected.remove_if(std::mem_fun(&pm::BaseMetric::isUnregistered));
+ toBeCollected.remove_if(std::mem_fn(&pm::BaseMetric::isUnregistered));
Log7Func(("{%p}: after remove_if: toBeCollected.size()=%d\n", this, toBeCollected.size()));
Log7Func(("{%p}: before remove_if: m.baseMetrics.size()=%d\n", this, m.baseMetrics.size()));
for (it = m.baseMetrics.begin(); it != m.baseMetrics.end();)
@@ -720,7 +720,7 @@ void PerformanceCollector::samplerCallback(uint64_t iT
/* Finally, collect the data */
std::for_each(toBeCollected.begin(), toBeCollected.end(),
- std::mem_fun(&pm::BaseMetric::collect));
+ std::mem_fn(&pm::BaseMetric::collect));
Log4Func(("{%p}: LEAVE\n", this));
}

View File

@ -93,6 +93,16 @@
else
# This is kind of bad, the returned string needs to be re-evaluated before use.
# The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
@@ -3068,6 +3069,9 @@ ifeq ($(KBUILD_TARGET_ARCH),x86)
# (The '<=' operator is for prepending (kmk specific).)
VBOX_GCC_OPT <= -march=i586
endif
+ ifeq ($(KBUILD_TARGET),freebsd)
+ VBOX_GCC_OPT <= $(VBOX_FREEBSD)
+ endif
endif
@@ -4218,6 +4219,7 @@ ifdef VBOX_WITH_RAW_MODE
TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC32_TOOL)
TEMPLATE_VBoxRc_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)

View File

@ -1,4 +1,4 @@
PORTREVISION= 16
PORTREVISION= 17
PKGNAMESUFFIX= -nox11-legacy
OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO