mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01: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
2 changed files with 18 additions and 0 deletions
|
@ -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>
|
2019-10-01 Zack Weinberg <zackw@panix.com>
|
||||||
Alistair Francis <alistair.francis@wdc.com>
|
Alistair Francis <alistair.francis@wdc.com>
|
||||||
|
|
||||||
|
|
|
@ -3,13 +3,26 @@
|
||||||
#define _STRUCT_TIMESPEC 1
|
#define _STRUCT_TIMESPEC 1
|
||||||
|
|
||||||
#include <bits/types.h>
|
#include <bits/types.h>
|
||||||
|
#include <bits/endian.h>
|
||||||
|
|
||||||
/* POSIX.1b structure for a time value. This is like a `struct timeval' but
|
/* POSIX.1b structure for a time value. This is like a `struct timeval' but
|
||||||
has nanoseconds instead of microseconds. */
|
has nanoseconds instead of microseconds. */
|
||||||
struct timespec
|
struct timespec
|
||||||
{
|
{
|
||||||
__time_t tv_sec; /* Seconds. */
|
__time_t tv_sec; /* Seconds. */
|
||||||
|
#if __WORDSIZE == 64 \
|
||||||
|
|| (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
|
||||||
|
|| __TIMESIZE == 32
|
||||||
__syscall_slong_t tv_nsec; /* Nanoseconds. */
|
__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
|
#endif
|
||||||
|
|
Loading…
Add table
Reference in a new issue