1
0
forked from pool/virtualbox

Accepting request 1069752 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/1069752
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/virtualbox?expand=0&rev=253
This commit is contained in:
Dominique Leuenberger 2023-03-08 13:51:08 +00:00 committed by Git OBS Bridge
commit aa44abab31
4 changed files with 61 additions and 89 deletions

View File

@ -1,26 +1,3 @@
Index: VirtualBox-7.0.6/include/iprt/types.h
===================================================================
--- VirtualBox-7.0.6.orig/include/iprt/types.h
+++ VirtualBox-7.0.6/include/iprt/types.h
@@ -170,6 +170,7 @@ RT_C_DECLS_END
# undef __inline
# define __inline __inline
# endif
+# include <csdint>
# include <linux/types.h>
# include <linux/stddef.h>
/*
Index: VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
===================================================================
--- VirtualBox-7.0.6.orig/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
+++ VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
@@ -229,4 +229,4 @@ namespace dxvk {
return os;
}
-}
\ No newline at end of file
+}
Index: VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h Index: VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
=================================================================== ===================================================================
--- VirtualBox-7.0.6.orig/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h --- VirtualBox-7.0.6.orig/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
@ -33,15 +10,17 @@ Index: VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
#include "util_likely.h" #include "util_likely.h"
#include "util_math.h" #include "util_math.h"
Index: VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/c99_math.h Index: VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h
=================================================================== ===================================================================
--- VirtualBox-7.0.6.orig/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/c99_math.h --- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h
+++ VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/c99_math.h +++ VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h
@@ -34,6 +34,7 @@ @@ -66,6 +66,9 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CO
#ifndef _C99_MATH_H_ OF THIS SOFTWARE.
#define _C99_MATH_H_
+#define _GLIBCXX_HOSTED 1
#include <math.h>
#include "c99_compat.h"
******************************************************************/
+
+#define __STDC_HOSTED__ 1
+
/* $Xorg: misc.h,v 1.5 2001/02/09 02:05:15 xorgcvs Exp $ */
#ifndef MISC_H
#define MISC_H 1

View File

@ -0,0 +1,40 @@
Patch to fix VirtualBox builds on kernel 6.3.0 and newer
Beginning with 6.3, a user is no loncer to write directly info the
vm_flags member of struct vm_area_struct. It is now necessary to use
the vm_flags_set() wrapper. Two locations in memobj-r0drv-linux.c are
affected.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Index: VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
--- VirtualBox-7.0.6.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+++ VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -1401,8 +1401,12 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
while (rc-- > 0)
{
flush_dcache_page(pMemLnx->apPages[rc]);
- papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
- }
+# if RTLNX_VER_MIN(6, 3, 0)
+ vm_flags_set(papVMAs[rc], VM_DONTCOPY | VM_LOCKED);
+#else
+ papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED;
+#endif
+ }
LNX_MM_UP_READ(pTask->mm);
@@ -1873,7 +1877,11 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
/* Thes flags help making 100% sure some bad stuff wont happen (swap, core, ++).
* See remap_pfn_range() in mm/memory.c */
#if RTLNX_VER_MIN(3,7,0)
+# if RTLNX_VER_MIN(6, 3, 0)
+ vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP);
+#else
vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP;
+#endif
#else
vma->vm_flags |= VM_RESERVED;
#endif

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Mar 6 21:14:12 UTC 2023 - Larry Finger <Larry.Finger@gmail.com>
- Added file "fixes_for_kernel_6.3.patch" to handle API change.
- File "fixes_for_gcc13.patch" updated for additional changes in GCC 13 boo#1207468
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Mar 1 16:13:24 UTC 2023 - Larry Finger <Larry.Finger@gmail.com> Wed Mar 1 16:13:24 UTC 2023 - Larry Finger <Larry.Finger@gmail.com>

View File

@ -160,6 +160,8 @@ Patch34: fix_kmp_build.patch
Patch35: fixes_for_leap15.5.patch Patch35: fixes_for_leap15.5.patch
# Fix for GCC13 # Fix for GCC13
Patch36: fixes_for_gcc13.patch Patch36: fixes_for_gcc13.patch
# Fix for kernel 6.3
Patch37: fixes_for_kernel_6.3.patch
# #
# Common BuildRequires for both virtualbox and virtualbox-kmp # Common BuildRequires for both virtualbox and virtualbox-kmp
BuildRequires: %{kernel_module_package_buildreqs} BuildRequires: %{kernel_module_package_buildreqs}
@ -298,13 +300,6 @@ and others, and limited virtualization of macOS guests on Apple
hardware. VirtualBox is freely available as Open Source Software under hardware. VirtualBox is freely available as Open Source Software under
the terms of the GNU Public License (GPL). the terms of the GNU Public License (GPL).
#-######################################### #-#########################################
%package qt %package qt
@ -323,13 +318,6 @@ Obsoletes: %{name}-ose-qt < %{version}
%description qt %description qt
This package contains the code for the GUI used to control VMs. This package contains the code for the GUI used to control VMs.
#-######################################## #-########################################
%package websrv %package websrv
@ -343,13 +331,6 @@ Obsoletes: %{name}-vboxwebsrv < %{version}
The VirtualBox web server is used to control headless VMs using a browser. The VirtualBox web server is used to control headless VMs using a browser.
#-########################################## #-##########################################
%package guest-tools %package guest-tools
Summary: VirtualBox guest tools Summary: VirtualBox guest tools
@ -371,13 +352,6 @@ Requires(pre): net-tools-deprecated
%description guest-tools %description guest-tools
VirtualBox guest addition tools. VirtualBox guest addition tools.
#-########################################## #-##########################################
%package -n python3-%{name} %package -n python3-%{name}
@ -397,13 +371,6 @@ Obsoletes: python3-%{name}-ose < %{version}
%description -n python3-%{name} %description -n python3-%{name}
Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package. Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package.
#-########################################## #-##########################################
%package devel %package devel
@ -418,13 +385,6 @@ Obsoletes: %{name}-ose-devel < %{version}
%description devel %description devel
Development file for %{name} Development file for %{name}
#-########################################## #-##########################################
%package host-source %package host-source
@ -456,13 +416,6 @@ Source files for %{name} guest kernel modules
These can be built for custom kernels using These can be built for custom kernels using
sudo %{_sbindir}/vboxguestconfig sudo %{_sbindir}/vboxguestconfig
#-########################################## #-##########################################
%package guest-desktop-icons %package guest-desktop-icons
@ -475,13 +428,6 @@ BuildArch: noarch
%description guest-desktop-icons %description guest-desktop-icons
This package contains icons for guest desktop files that were created on the desktop. This package contains icons for guest desktop files that were created on the desktop.
#-########################################## #-##########################################
%package vnc %package vnc
@ -551,6 +497,7 @@ This package contains the kernel-modules that VirtualBox uses to create or run v
%if 0%{gcc_version} >= 13 %if 0%{gcc_version} >= 13
%patch36 -p1 %patch36 -p1
%endif %endif
%patch37 -p1
### Documents for virtualbox main package ### ### Documents for virtualbox main package ###
%if %{main_package} %if %{main_package}