[vbox-dev] Fixes for 32-bit build with kernel 4.18
Larry Finger
Larry.Finger at lwfinger.net
Sat Jun 23 19:24:14 GMT 2018
On 32-bit systems, it seems that some of the timespec definitions have changed
with kernel 4.18. On the openSUSE builds, the following patch, released under an
MIT license, was needed:
Index: VirtualBox-5.2.12/src/VBox/Additions/linux/sharedfolders/utils.c
===================================================================
--- VirtualBox-5.2.12.orig/src/VBox/Additions/linux/sharedfolders/utils.c
+++ VirtualBox-5.2.12/src/VBox/Additions/linux/sharedfolders/utils.c
@@ -50,7 +50,11 @@ static void sf_timespec_from_ftime(RTTIM
RTTimeSpecSetNano(ts, t);
}
#else /* >= 2.6.0 */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0)
+static void sf_ftime_from_timespec(struct timespec64 *tv, RTTIMESPEC *ts)
+#else
static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
+#endif
{
int64_t t = RTTimeSpecGetNano(ts);
int64_t nsec;
@@ -60,7 +64,11 @@ static void sf_ftime_from_timespec(struc
tv->tv_nsec = nsec;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0)
+static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec64 *tv)
+#else
static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
+#endif
{
int64_t t = (int64_t)tv->tv_nsec + (int64_t)tv->tv_sec * 1000000000;
RTTimeSpecSetNano(ts, t);
More information about the vbox-dev
mailing list