workaround glibc posix violation with regards to suseconds_t According to posix tv_usec has type suseconds_t, however glibc with time64 violates this defining tv_usec as time_t (a 64-bit type) while defining suseconds_t as a 32-bit type.
Most C programs don't care about this difference because C allows implicit conversion between different sized integers but rust does not..
This patch works around the issue by letting the compiler infer the type to convert to.