forked from pool/virtualbox
5217fddc80
Fix missing frame buffer cleanup - private communication from Oracle - adds file "fix_KMS_support.patch". OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=346
276 lines
14 KiB
Diff
276 lines
14 KiB
Diff
Index: VirtualBox-5.1.22/configure
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/configure
|
|
+++ VirtualBox-5.1.22/configure
|
|
@@ -447,8 +447,8 @@ check_gcc()
|
|
-o \( $cc_maj -eq 4 -a $cc_min -gt 9 \) \
|
|
-o \( $cc_maj -eq 5 -a $cc_min -gt 9 \) \
|
|
-o \( $cc_maj -eq 6 -a $cc_min -gt 9 \) \
|
|
- -o $cc_maj -gt 6 ]; then
|
|
- log_failure "gcc version $cc_maj.$cc_min found, expected gcc 4.x, gcc 5.x or gcc 6.x"
|
|
+ -o $cc_maj -gt 7 ]; then
|
|
+ log_failure "gcc version $cc_maj.$cc_min found, expected gcc 4.x, gcc 5.x, gcc 6.x or gcc7.x"
|
|
fail really
|
|
else
|
|
log_success "found version $cc_ver"
|
|
Index: VirtualBox-5.1.22/src/VBox/Devices/PC/ipxe/src/arch/i386/interface/pxe/pxe_preboot.c
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/Devices/PC/ipxe/src/arch/i386/interface/pxe/pxe_preboot.c
|
|
+++ VirtualBox-5.1.22/src/VBox/Devices/PC/ipxe/src/arch/i386/interface/pxe/pxe_preboot.c
|
|
@@ -262,6 +262,7 @@ pxenv_restart_tftp ( struct s_PXENV_TFTP
|
|
|
|
/* Restart NBP */
|
|
rmlongjmp ( pxe_restart_nbp, PXENV_RESTART_TFTP );
|
|
+ return 0;
|
|
}
|
|
|
|
/* PXENV_START_UNDI
|
|
Index: VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
|
|
+++ VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest
|
|
@@ -54,6 +54,7 @@ FILES_VBOXGUEST_NOBIN=" \
|
|
${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 @@ FILES_VBOXGUEST_NOBIN=" \
|
|
${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: VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/Makefile
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/Additions/common/VBoxGuest/linux/Makefile
|
|
+++ VirtualBox-5.1.22/src/VBox/Additions/common/VBoxGuest/linux/Makefile
|
|
@@ -100,6 +100,7 @@ MOD_OBJS += \
|
|
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
|
|
Index: VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/files_vboxsf
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/Additions/linux/sharedfolders/files_vboxsf
|
|
+++ VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/files_vboxsf
|
|
@@ -38,6 +38,7 @@ FILES_VBOXSF_NOBIN=" \
|
|
${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 @@ FILES_VBOXSF_NOBIN=" \
|
|
${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: VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/Makefile.module
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/Additions/linux/sharedfolders/Makefile.module
|
|
+++ VirtualBox-5.1.22/src/VBox/Additions/linux/sharedfolders/Makefile.module
|
|
@@ -38,6 +38,7 @@ MOD_OBJS += \
|
|
divdi3.o \
|
|
moddi3.o \
|
|
udivdi3.o \
|
|
+ udivmoddi4.o \
|
|
umoddi3.o \
|
|
qdivrem.o
|
|
endif
|
|
Index: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/files_vboxdrv
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/Support/linux/files_vboxdrv
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/files_vboxdrv
|
|
@@ -65,6 +65,7 @@ FILES_VBOXDRV_NOBIN=" \
|
|
${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 \
|
|
@@ -109,6 +110,7 @@ FILES_VBOXDRV_NOBIN=" \
|
|
${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: VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/Makefile
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/Support/linux/Makefile
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/Support/linux/Makefile
|
|
@@ -158,6 +158,7 @@ OBJS += math/gcc/divdi3.o \
|
|
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: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp
|
|
@@ -49,6 +49,7 @@ VBOX_VBOXNETADP_SOURCES=" \
|
|
${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 @@ VBOX_VBOXNETADP_SOURCES=" \
|
|
${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: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
|
|
@@ -68,6 +68,7 @@ OBJS += math/gcc/divdi3.o \
|
|
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: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt
|
|
@@ -49,6 +49,7 @@ VBOX_VBOXNETFLT_SOURCES=" \
|
|
${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 @@ VBOX_VBOXNETFLT_SOURCES=" \
|
|
${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: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile
|
|
@@ -72,6 +72,7 @@ OBJS += math/gcc/divdi3.o \
|
|
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: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci
|
|
@@ -48,6 +48,7 @@ VBOX_VBOXPCI_SOURCES=" \
|
|
${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 @@ VBOX_VBOXPCI_SOURCES=" \
|
|
${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: VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/Makefile
|
|
===================================================================
|
|
--- VirtualBox-5.1.22.orig/src/VBox/HostDrivers/VBoxPci/linux/Makefile
|
|
+++ VirtualBox-5.1.22/src/VBox/HostDrivers/VBoxPci/linux/Makefile
|
|
@@ -72,6 +72,7 @@ OBJS += math/gcc/divdi3.o \
|
|
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: VirtualBox-5.1.22/src/VBox/Runtime/common/math/gcc/udivmoddi4.c
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ VirtualBox-5.1.22/src/VBox/Runtime/common/math/gcc/udivmoddi4.c
|
|
@@ -0,0 +1,51 @@
|
|
+/* $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>
|
|
+
|
|
+/**
|
|
+ * __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;
|
|
+}
|