glibc/sysdeps/unix/sysv/linux/bits
Stafford Horne cb9b8b5d76 timex: Use 64-bit fields on 32-bit TIMESIZE=64 systems (BZ #28469)
This was found when testing the OpenRISC port I am working on.  These
two tests fail with SIGSEGV:

  FAIL: misc/tst-ntp_gettime
  FAIL: misc/tst-ntp_gettimex

This was found to be due to the kernel overwriting the stack space
allocated by the timex structure.  The reason for the overwrite being
that the kernel timex has 64-bit fields and user space code only
allocates enough stack space for timex with 32-bit fields.

On 32-bit systems with TIMESIZE=64 __USE_TIME_BITS64 is not defined.
This causes the timex structure to use 32-bit fields with type
__syscall_slong_t.

This patch adjusts the ifdef condition to allow 32-bit systems with
TIMESIZE=64 to use the 64-bit long long timex definition.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

(Cherry picked from commit 1d550265a7)
2021-10-18 17:45:42 -03:00
..
types y2038: Use a common definition for shmid_ds 2021-06-15 10:42:11 -03:00
a.out.h Update. 2003-07-25 09:06:04 +00:00
dirent_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
dirent.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
epoll.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
errno.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
eventfd.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fcntl-linux.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
fcntl.h Update. 2000-09-01 07:14:30 +00:00
in.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
initspin.h Update. 2000-10-15 06:50:42 +00:00
inotify.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioctl-types.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ioctls.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ipc-perm.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ipc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
local_lim.h Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN 2021-07-12 18:43:32 +02:00
mman-linux.h Add MADV_POPULATE_READ and MADV_POPULATE_WRITE from Linux 5.14 to bits/mman-linux.h 2021-09-15 14:34:33 +02:00
mman-map-flags-generic.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mman-shared.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mman.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
mqueue.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
msq.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
param.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
poll.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
posix_opt.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs-extra.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs-id.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs-prregset.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
procfs.h Unify some sys/procfs.h headers. 2018-09-25 16:48:15 +00:00
pthread_stack_min-dynamic.h Reduce <limits.h> pollution due to dynamic PTHREAD_STACK_MIN 2021-07-12 18:43:32 +02:00
pthread_stack_min.h Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) 2021-07-09 15:10:35 -07:00
ptrace-shared.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
resource.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sched.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sem.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
semaphore.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
shm.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
shmlba.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigaction.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigcontext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigevent-consts.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
siginfo-arch.h Remove __need macros from signal.h. 2017-05-20 19:04:43 -04:00
siginfo-consts-arch.h Remove __need macros from signal.h. 2017-05-20 19:04:43 -04:00
siginfo-consts.h Add SEGV_MTEAERR and SEGV_MTESERR from Linux 5.10. 2021-01-06 18:23:00 +00:00
signal_ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signalfd.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
signum-arch.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigstack.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
sigstksz.h Define PTHREAD_STACK_MIN to sysconf(_SC_THREAD_STACK_MIN) 2021-07-09 15:10:35 -07:00
socket_type.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
socket-constants.h y2038: Add __USE_TIME_BITS64 support for socket-constants.h 2021-06-15 10:42:11 -03:00
socket.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
ss_flags.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
stat.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statfs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statvfs.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
statx.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
struct_stat_time64_helper.h y2038: Use a common definition for stat 2021-06-15 10:42:11 -03:00
struct_stat.h y2038: Use a common definition for stat 2021-06-15 10:42:11 -03:00
termios-baud.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_cc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_cflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_iflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_lflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-c_oflag.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-misc.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-struct.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios-tcflow.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
termios.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
time.h y2038: Add support for 64-bit time on legacy ABIs 2021-06-15 10:42:11 -03:00
timerfd.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
timex.h timex: Use 64-bit fields on 32-bit TIMESIZE=64 systems (BZ #28469) 2021-10-18 17:45:42 -03:00
uio_lim.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
uio-ext.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
unistd_ext.h linux: Add close_range 2021-07-08 14:08:13 -03:00
utsname.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00
waitflags.h Update copyright dates with scripts/update-copyrights 2021-01-02 12:17:34 -08:00