diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch deleted file mode 100644 index 203eec6eec..0000000000 --- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/0001-utils-fix-build-against-5.15-libc-headers-headers.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 7213a5bfa3bd9f360d6be01e6dbd59d91095a0fd Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield -Date: Thu, 4 Nov 2021 14:53:46 -0400 -Subject: [PATCH] utils: fix build against 5.15 libc-headers headers - -In kernel v5.15+ stdarg.h is part of the kernel source, and the -upstream project has a change to prefer that stdarg.h to the -c-library variant and hence includes it as , which -leads to the following build error: - - | In file included from ../vboxsf/include/iprt/types.h:34, - | from ../vboxsf/include/iprt/string.h:33, - | from mount.vboxsf.c:53: - | ../vboxsf/include/iprt/stdarg.h:49:13: fatal error: linux/stdarg.h: No such file or directory - | 49 | # include - | | ^~~~~~~~~~~~~~~~ - -If we modify our build of the vboxdrivers to have the kernel source -directory on the include path (to find linux/stdarg.h, that leads -to the following errors: - - In file included from build/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.28-r0/recipe-sysroot/usr/include/stdlib.h:394, - | from mount.vboxsf.c:36: - | build/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.28-r0/recipe-sysroot/usr/include/sys/types.h:192:20: note: previous declaration of 'blkcnt_t' with type 'blkcnt_t' {aka 'long int'} - | 192 | typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ - | | ^~~~~~~~ - | In file included from build/tmp/work-shared/qemux86-64/kernel-source/include/linux/time.h:5, - | from poky/build/tmp/work-shared/qemux86-64/kernel-source/include/linux/stat.h:19, - | from build/tmp/work/qemux86_64-poky-linux/vboxguestdrivers/6.1.28-r0/recipe-sysroot/usr/include/bits/statx.h:31, - -Our libc-headers are safe and don't lead to the potential conflicing -information that the upstream commit is guarding against. The easiest -solution is to revert the upstream change and trust our headers. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Bruce Ashfield ---- - vboxsf/include/iprt/stdarg.h | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/include/iprt/stdarg.h b/include/iprt/stdarg.h -index c73093c..7bffde5 100644 ---- a/include/iprt/stdarg.h -+++ b/include/iprt/stdarg.h -@@ -44,12 +44,7 @@ - # define __builtin_stdarg_start __builtin_va_start - # endif - # elif defined(RT_OS_LINUX) && defined(IN_RING0) --# include "linux/version.h" --# if RTLNX_VER_MIN(5,15,0) || RTLNX_RHEL_MAJ_PREREQ(9,1) --# include --# else --# include --# endif -+# include - # else - # include - # endif --- -2.19.1 - diff --git a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb index 37dd0224d6..06dc8a4c88 100644 --- a/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb +++ b/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.36.bb @@ -13,7 +13,6 @@ VBOX_NAME = "VirtualBox-${PV}" SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ file://Makefile.utils \ - file://0001-utils-fix-build-against-5.15-libc-headers-headers.patch \ " SRC_URI[sha256sum] = "e47942e42892c13c621869865e2b7b320340154f0fa74ecbdaf18fdaf70ef047" @@ -42,6 +41,14 @@ do_export_sources() { install ${WORKDIR}/${VBOX_NAME}/src/VBox/Additions/linux/sharedfolders/vbsfmount.c ${S}/utils install ${S}/../Makefile.utils ${S}/utils/Makefile + # some kernel versions have issues with stdarg.h and compatibility with + # the sysroot and libc-headers/uapi. If we include the file directly from + # the kernel source (STAGING_KERNEL_DIR) we get conflicting types on many + # structures, due to kernel .h files being found before libc .h files. + # if we grab just this one file from the source, and put it into our + # file structure, everything holds together + mkdir -p ${S}/vboxsf/include/linux + install ${STAGING_KERNEL_DIR}/include/linux/stdarg.h ${S}/vboxsf/include/linux } do_configure:prepend() {