mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-25 04:01:10 +00:00
time: Add padding for the timespec if required
If we are running on a 32-bit system with a 64-bit time_t we need to ensure there is padding around the tv_nsec variable. This is requried as the timespec is #defined to the __timespec64 struct. * time/bits/types/struct_timespec.h: Add padding for the timespec if required.
This commit is contained in:
parent
aa706e13f4
commit
69fd157a3d
@ -1,3 +1,8 @@
|
||||
2019-10-01 Alistair Francis <alistair.francis@wdc.com>
|
||||
|
||||
* time/bits/types/struct_timespec.h: Add padding for the timespec if
|
||||
required.
|
||||
|
||||
2019-10-01 Zack Weinberg <zackw@panix.com>
|
||||
Alistair Francis <alistair.francis@wdc.com>
|
||||
|
||||
|
@ -3,13 +3,26 @@
|
||||
#define _STRUCT_TIMESPEC 1
|
||||
|
||||
#include <bits/types.h>
|
||||
#include <bits/endian.h>
|
||||
|
||||
/* POSIX.1b structure for a time value. This is like a `struct timeval' but
|
||||
has nanoseconds instead of microseconds. */
|
||||
struct timespec
|
||||
{
|
||||
__time_t tv_sec; /* Seconds. */
|
||||
#if __WORDSIZE == 64 \
|
||||
|| (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
|
||||
|| __TIMESIZE == 32
|
||||
__syscall_slong_t tv_nsec; /* Nanoseconds. */
|
||||
#else
|
||||
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||
int: 32; /* Padding. */
|
||||
long int tv_nsec; /* Nanoseconds. */
|
||||
# else
|
||||
long int tv_nsec; /* Nanoseconds. */
|
||||
int: 32; /* Padding. */
|
||||
# endif
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user