[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 2/3] lib/uktime: Introduce time_types.h for type defintions
On 10/15/19 9:52 AM, Felipe Huici wrote: > Hi Costin, > > I'lll give this a reviewed-by, but please read my comment below. > > -- Felipe > > Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx> > > On 14.10.19, 16:44, "Costin Lupu" <costin.lupu@xxxxxxxxx> wrote: > > On 10/14/19 5:02 PM, Felipe Huici wrote: > > Hi Costin, > > > > Please find a comment inline. > > > > -- Felipe > > > > > > On 13.10.19, 15:30, "Costin Lupu" <costin.lupu@xxxxxxxxx> wrote: > > > > We basically take the type definitions we used for nolibc and put > them in > > time_types.h. > > > > In this patch we also add the changes for allowing custom > definitions in libc > > implementations. We allow for all libc implementations but for > nolibc; the > > alternative would have been to add empty headers in nolibc. > > > > Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx> > > --- > > .../include/nolibc-internal/shareddefs.h | 41 +--------- > > lib/uktime/include/uk/time_types.h | 74 > +++++++++++++++++++ > > lib/uktime/musl-imported/include/sys/time.h | 10 ++- > > lib/uktime/musl-imported/include/time.h | 7 ++ > > plat/xen/x86/arch_time.c | 2 +- > > 5 files changed, 91 insertions(+), 43 deletions(-) > > create mode 100644 lib/uktime/include/uk/time_types.h > > > > diff --git a/lib/nolibc/include/nolibc-internal/shareddefs.h > b/lib/nolibc/include/nolibc-internal/shareddefs.h > > index 9eb613a1..a1661081 100644 > > --- a/lib/nolibc/include/nolibc-internal/shareddefs.h > > +++ b/lib/nolibc/include/nolibc-internal/shareddefs.h > > @@ -65,46 +65,7 @@ typedef __off off_t; > > #define __DEFINED_off_t > > #endif > > > > -#if (defined __NEED_time_t && !defined __DEFINED_time_t) > > -typedef long time_t; > > -#define __DEFINED_time_t > > -#endif > > - > > -#if (defined __NEED_suseconds_t && !defined __DEFINED_suseconds_t) > > -typedef long suseconds_t; > > -#define __DEFINED_suseconds_t > > -#endif > > - > > -#if (defined __NEED_struct_timeval && !defined > __DEFINED_struct_timeval) > > -struct timeval { > > - time_t tv_sec; > > - suseconds_t tv_usec; > > -}; > > -#define __DEFINED_struct_timeval > > -#endif > > - > > -#if (defined __NEED_struct_timespec && !defined > __DEFINED_struct_timespec) > > -struct timespec { > > - time_t tv_sec; > > - long tv_nsec; > > -}; > > -#define __DEFINED_struct_timespec > > -#endif > > - > > -#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) > > -typedef void *timer_t; > > -#define __DEFINED_timer_t > > -#endif > > - > > -#if (defined __NEED_clockid_t && !defined __DEFINED_clockid_t) > > -typedef int clockid_t; > > -#define __DEFINED_clockid_t > > -#endif > > - > > -#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) > > -typedef long clock_t; > > -#define __DEFINED_clock_t > > -#endif > > +#include <uk/time_types.h> > > > > This sets a hard dependency for nolibc on uktime, which shouldn't be > the case. You should probably compile-guard it -- we'd like to be able to > keep noblic as small as possible where applicable. > > You're right, if we want to be able to disable time-related functions > from nolibc then this include directive should be protected. But that's > not enough, we should also make some kind of relationship between nolibc > and uktime in order to avoid things to get messy (please see my reply on > the `lib/vfscore: Add dependency to libuktime` thread). > > More than that, the include guard should check whether the "time > features" are enabled - this is a more generic way than checking whether > uktime is enabled. So we might need to define a CONFIG_HAVE_LIBC_TIME > flag which will be set when enabling time libs such as uktime. > > Ok, then as a compromise I suggest that we: > > 1. Compile-guard the one liner, something like: > #if CONFIG_HAVE_LIBC_TIME /* or CONFIG_UKTIME */ > #include <uk/time_types.h> > #endif > > and > > 2. Have noblic's Config.uk imply uktime. > > To speed things along, I've given this patch a reviewed-by, but please send > this fix out sometime this week so we don't lose track of the issue. I've just sent the patch, it's called ' lib/nolibc: Imply uktime for time functions' Costin _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |