[vbox-dev] Fixes for 32-bit build with kernel 4.18

Larry Finger Larry.Finger at lwfinger.net
Sat Jun 23 19:24:14 UTC 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