Date: Tuesday, July 18, 2017 @ 12:18:14 Author: eworm Revision: 245542
upgpkg: virtualbox 5.1.24-1 new upstream release Modified: virtualbox/trunk/PKGBUILD Deleted: virtualbox/trunk/009-gcc-7.patch virtualbox/trunk/010-linux-4.12.patch ----------------------+ 009-gcc-7.patch | 303 ------------------------------------------------- 010-linux-4.12.patch | 108 ----------------- PKGBUILD | 10 - 3 files changed, 3 insertions(+), 418 deletions(-) Deleted: 009-gcc-7.patch =================================================================== --- 009-gcc-7.patch 2017-07-18 11:32:13 UTC (rev 245541) +++ 009-gcc-7.patch 2017-07-18 12:18:14 UTC (rev 245542) @@ -1,303 +0,0 @@ -Index: trunk/src/recompiler/Makefile.kmk -=================================================================== ---- trunk/src/recompiler/Makefile.kmk (revision 67289) -+++ trunk/src/recompiler/Makefile.kmk (revision 67298) -@@ -320,7 +320,8 @@ - - $$(VBoxREMImp_0_OUTDIR)/VBoxREMRes.o: $(VBOX_PATH_RECOMPILER_SRC)/VBoxREM.rc $(MAKEFILE_CURRENT) $(VBOX_VERSION_MK) | $$(dir $$@) - $(call MSG_GENERATE,,$@) -- $(QUIET)$(REDIRECT) -E 'COMSPEC=$(VBOX_GOOD_COMSPEC_BS)' -- $(TOOL_MINGWW64_PREFIX)windres \ -+ $(QUIET)$(REDIRECT) -E 'COMSPEC=$(VBOX_GOOD_COMSPEC_BS)' \ -+ -- $(TOOL_$(VBoxRemPrimary_TOOL.win.$(KBUILD_TARGET_ARCH))_PREFIX)windres \ - $(addprefix -I,$(INCS) $(PATH_SDK_$(VBOX_WINPSDK)_INC) $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)) \ - -DVBOX_SVN_REV=$(VBOX_SVN_REV) \ - -DVBOX_SVN_REV_MOD_5K=$(expr $(VBOX_SVN_REV) % 50000) \ -Index: trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c -=================================================================== ---- trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c (nonexistent) -+++ trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c (revision 67298) -@@ -0,0 +1,53 @@ -+/* $Id$ */ -+/** @file -+ * IPRT - __udivmoddi4 implementation -+ */ -+ -+/* -+ * Copyright (C) 2006-2016 Oracle Corporation -+ * -+ * This file is part of VirtualBox Open Source Edition (OSE), as -+ * available from http://www.virtualbox.org. This file is free software; -+ * you can redistribute it and/or modify it under the terms of the GNU -+ * General Public License (GPL) as published by the Free Software -+ * Foundation, in version 2 as it comes in the "COPYING" file of the -+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the -+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. -+ * -+ * The contents of this file may alternatively be used under the terms -+ * of the Common Development and Distribution License Version 1.0 -+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the -+ * VirtualBox OSE distribution, in which case the provisions of the -+ * CDDL are applicable instead of those of the GPL. -+ * -+ * You may elect to license modified versions of this file under the -+ * terms and conditions of either the GPL or the CDDL or both. -+ */ -+ -+#include <iprt/stdint.h> -+#include <iprt/uint64.h> -+ -+uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R); -+ -+/** -+ * __udivmoddi4() implementation to satisfy external references from 32-bit -+ * code generated by gcc-7 or later. -+ * -+ * @param u64A The divident value. -+ * @param u64B The divisor value. -+ * @param pu64R A pointer to the reminder. May be NULL. -+ * @returns u64A / u64B -+ */ -+uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R) -+{ -+ RTUINT64U Divident; -+ RTUINT64U Divisor; -+ RTUINT64U Quotient; -+ RTUINT64U Reminder; -+ Divident.u = u64A; -+ Divisor.u = u64B; -+ RTUInt64DivRem(&Quotient, &Reminder, &Divident, &Divisor); -+ if (pu64R) -+ *pu64R = Reminder.u; -+ return Quotient.u; -+} - -Property changes on: trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c -___________________________________________________________________ -Added: svn:eol-style -## -0,0 +1 ## -+native -\ No newline at end of property -Added: svn:keywords -## -0,0 +1 ## -+Author Date Id Revision -\ No newline at end of property -Index: trunk/src/VBox/Runtime/Makefile.kmk -=================================================================== ---- trunk/src/VBox/Runtime/Makefile.kmk (revision 67289) -+++ trunk/src/VBox/Runtime/Makefile.kmk (revision 67298) -@@ -1850,6 +1850,7 @@ - common/math/gcc/subdi3.c \ - common/math/gcc/ucmpdi2.c \ - common/math/gcc/udivdi3.c \ -+ common/math/gcc/udivmoddi4.c \ - common/math/gcc/umoddi3.c \ - common/math/gcc/xordi3.c - -@@ -1942,6 +1943,7 @@ - common/math/gcc/subdi3.c \ - common/math/gcc/ucmpdi2.c \ - common/math/gcc/udivdi3.c \ -+ common/math/gcc/udivmoddi4.c \ - common/math/gcc/umoddi3.c \ - common/math/gcc/xordi3.c - endif -@@ -2675,6 +2677,7 @@ - common/math/gcc/subdi3.c \ - common/math/gcc/ucmpdi2.c \ - common/math/gcc/udivdi3.c \ -+ common/math/gcc/udivmoddi4.c \ - common/math/gcc/umoddi3.c \ - common/math/gcc/xordi3.c - endif -Index: trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp -=================================================================== ---- trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp (revision 67289) -+++ trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp (revision 67298) -@@ -49,6 +49,7 @@ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -70,6 +71,7 @@ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/string/strformat.cpp=>common/string/strformat.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/string/strformatrt.cpp=>common/string/strformatrt.c \ -Index: trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile -=================================================================== ---- trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile (revision 67289) -+++ trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile (revision 67298) -@@ -72,6 +72,7 @@ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci -=================================================================== ---- trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci (revision 67289) -+++ trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci (revision 67298) -@@ -48,6 +48,7 @@ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -75,6 +76,7 @@ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ - ${PATH_OUT}/version-generated.h=>version-generated.h \ -Index: trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile -=================================================================== ---- trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile (revision 67289) -+++ trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile (revision 67298) -@@ -76,6 +76,7 @@ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile -=================================================================== ---- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile (revision 67289) -+++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile (revision 67298) -@@ -76,6 +76,7 @@ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt -=================================================================== ---- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt (revision 67289) -+++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt (revision 67298) -@@ -49,6 +49,7 @@ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -77,6 +78,7 @@ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ - ${PATH_OUT}/version-generated.h=>version-generated.h \ -Index: trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv -=================================================================== ---- trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv (revision 67289) -+++ trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv (revision 67298) -@@ -65,6 +65,7 @@ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ - ${PATH_ROOT}/include/iprt/uint128.h=>include/iprt/uint128.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ -@@ -108,6 +109,7 @@ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ -Index: trunk/src/VBox/HostDrivers/Support/linux/Makefile -=================================================================== ---- trunk/src/VBox/HostDrivers/Support/linux/Makefile (revision 67289) -+++ trunk/src/VBox/HostDrivers/Support/linux/Makefile (revision 67298) -@@ -162,6 +162,7 @@ - math/gcc/moddi3.o \ - math/gcc/qdivrem.o \ - math/gcc/udivdi3.o \ -+ math/gcc/udivmoddi4.o \ - math/gcc/divdi3.o \ - math/gcc/umoddi3.o - endif -Index: trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module -=================================================================== ---- trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module (revision 67289) -+++ trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module (revision 67298) -@@ -38,6 +38,7 @@ - divdi3.o \ - moddi3.o \ - udivdi3.o \ -+ udivmoddi4.o \ - umoddi3.o \ - qdivrem.o - endif -Index: trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf -=================================================================== ---- trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf (revision 67289) -+++ trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf (revision 67298) -@@ -38,6 +38,7 @@ - ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \ -@@ -73,6 +74,7 @@ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ - ${PATH_ROOT}/src/VBox/Additions/linux/sharedfolders/Makefile.module=>Makefile \ -Index: trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest -=================================================================== ---- trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest (revision 67289) -+++ trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest (revision 67298) -@@ -54,6 +54,7 @@ - ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ - ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ - ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ -+ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ - ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ - ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ - ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \ -@@ -113,6 +114,7 @@ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>common/math/gcc/qdivrem.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>common/math/gcc/quad.h \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>common/math/gcc/udivdi3.c \ -+ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>common/math/gcc/udivmoddi4.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>common/math/gcc/umoddi3.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ - ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ -Index: trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile -=================================================================== ---- trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile (revision 67289) -+++ trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile (revision 67298) -@@ -100,6 +100,7 @@ - common/math/gcc/divdi3.o \ - common/math/gcc/moddi3.o \ - common/math/gcc/udivdi3.o \ -+ common/math/gcc/udivmoddi4.o \ - common/math/gcc/umoddi3.o \ - common/math/gcc/qdivrem.o - endif Deleted: 010-linux-4.12.patch =================================================================== --- 010-linux-4.12.patch 2017-07-18 11:32:13 UTC (rev 245541) +++ 010-linux-4.12.patch 2017-07-18 12:18:14 UTC (rev 245542) @@ -1,108 +0,0 @@ -diff --git a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -index 0beb736..20cae7c 100644 ---- a/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -+++ b/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -@@ -1397,7 +1397,7 @@ RTDECL(int) SUPR0Printf(const char *pszFormat, ...) - SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void) - { - uint32_t fFlags = 0; --#ifdef CONFIG_PAX_KERNEXEC -+#if defined(CONFIG_PAX_KERNEXEC) || LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) - fFlags |= SUPKERNELFEATURES_GDT_READ_ONLY; - #endif - #if defined(VBOX_STRICT) || defined(VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV) -diff --git a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -index e011867..4576a74 100644 ---- a/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -@@ -35,6 +35,9 @@ - #include <iprt/assert.h> - #include <iprt/err.h> - #include "r0drv/alloc-r0drv.h" -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+#include <asm/set_memory.h> -+#endif - - - #if (defined(RT_ARCH_AMD64) || defined(DOXYGEN_RUNNING)) && !defined(RTMEMALLOC_EXEC_HEAP) -diff --git a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -index 4bc2a9b..2b5af61 100644 ---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -@@ -899,6 +899,9 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) - unsigned long pfn; - struct page *pPage; - pte_t *pEntry; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d_t p4d; -+#endif - union - { - pgd_t Global; -@@ -917,9 +920,18 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) - u.Global = *pgd_offset(current->active_mm, ulAddr); - if (RT_UNLIKELY(pgd_none(u.Global))) - return NULL; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d = *p4d_offset(&u.Global, ulAddr); -+ if (RT_UNLIKELY(p4d_none(p4d) || p4d_large(p4d) || !p4d_present(p4d))) -+ return NULL; -+#endif - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ u.Upper = *pud_offset(&p4d, ulAddr); -+#else - u.Upper = *pud_offset(&u.Global, ulAddr); -+#endif - if (RT_UNLIKELY(pud_none(u.Upper))) - return NULL; - # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) -@@ -1463,13 +1475,23 @@ static int rtR0MemObjLinuxFixPte(struct mm_struct *mm, unsigned long ulAddr, RTH - { - int rc = -ENOMEM; - pgd_t *pgd; -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d_t *p4d; -+#endif - - spin_lock(&mm->page_table_lock); - - pgd = pgd_offset(mm, ulAddr); - if (!pgd_none(*pgd) && !pgd_bad(*pgd)) - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+ p4d = p4d_offset(*pgd, ulAddr); -+ if (p4d_none(*p4d)) -+ goto exit; -+ pmd_t *pmd = pmd_offset(p4d, ulAddr); -+#else - pmd_t *pmd = pmd_offset(pgd, ulAddr); -+#endif - if (!pmd_none(*pmd)) - { - pte_t *ptep = pte_offset_map(pmd, ulAddr); -@@ -1487,6 +1509,9 @@ static int rtR0MemObjLinuxFixPte(struct mm_struct *mm, unsigned long ulAddr, RTH - } - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+exit: -+#endif - spin_unlock(&mm->page_table_lock); - return rc; - } -diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -index 5a7ccb2..a07a22a 100644 ---- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -+++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -@@ -320,6 +320,9 @@ DECLINLINE(unsigned long) msecs_to_jiffies(unsigned int cMillies) - #endif - - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) -+#include <asm/cacheflush.h> -+#endif - # define MY_SET_PAGES_EXEC(pPages, cPages) set_pages_x(pPages, cPages) - # define MY_SET_PAGES_NOEXEC(pPages, cPages) set_pages_nx(pPages, cPages) - #else Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-07-18 11:32:13 UTC (rev 245541) +++ PKGBUILD 2017-07-18 12:18:14 UTC (rev 245542) @@ -10,8 +10,8 @@ 'virtualbox-guest-utils' 'virtualbox-guest-utils-nox' 'virtualbox-ext-vnc') -pkgver=5.1.22 -pkgrel=5 +pkgver=5.1.24 +pkgrel=1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -70,10 +70,8 @@ '006-rdesktop-vrdp-keymap-path.patch' '007-python2-path.patch' '008-no-vboxvideo.patch' - '009-gcc-7.patch' - '010-linux-4.12.patch' ) -sha256sums=('fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899' +sha256sums=('ee2db169a322bf0db3c3b6d8b84aa39236f36cbf37d0a4c10ab65902a396bb60' 'deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec' '113f9b92141b85df01f1e74d22f01d1f1aa81650eb79b89ceefc3cae20afe2e2' '2101ebb58233bbfadf3aa74381f22f7e7e508559d2b46387114bc2d8e308554c' @@ -91,8 +89,6 @@ '5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc' '6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f' '8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc' - '0f5cb04362be022bba71295867aac9eaddf9ece0d3ce82c083d70829564ec8d2' - 'a2f7e23f9956ac28783061d75b4854492c6a015acc42328cee951e9165f9a505' ) prepare() {