aboutsummaryrefslogtreecommitdiff
path: root/gotools
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-11-17 16:13:02 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-11-17 22:38:49 +0000
commit1e3e6c700f04fe6992b9077541e434172c1cbdae (patch)
treef5fe26e1f78055d0ccd01c0e2987d270099ffc3d /gotools
parent61ef34c503443dadc0744c5150256b90d138db0a (diff)
downloadgcc-1e3e6c700f04fe6992b9077541e434172c1cbdae.zip
gcc-1e3e6c700f04fe6992b9077541e434172c1cbdae.tar.gz
gcc-1e3e6c700f04fe6992b9077541e434172c1cbdae.tar.bz2
libstdc++: Revert changes for SYS_clock_gettime64 [PR 93421]
As discussed in the PR, it's incredibly unlikely that a system that needs to use the SYS_clock_gettime syscall (e.g. glibc 2.16 or older) is going to define the SYS_clock_gettime64 macro. Ancient systems that need to use the syscall aren't going to have time64 support. This reverts the recent changes to try and make clock_gettime syscalls be compatible with systems that have been updated for time64 (those changes were wrong anyway as they misspelled the SYS_clock_gettime64 macro). The changes for futex syscalls are retained, because we still use them on modern systems that might be using time64. To ensure that the clock_gettime syscalls are safe, configure will fail if SYS_clock_gettime is needed, and SYS_clock_gettime64 is also defined (but to a distinct value from SYS_clock_gettime), and the tv_sec member of timespec is larger than long. This means we will be unable to build on a hypothetical system where we need the time32 version of SYS_clock_gettime but where userspace is using a time64 struct timespec. In the unlikely event that this failure is triggered on any real systems, we can fix it later. But we probably won't need to. libstdc++-v3/ChangeLog: PR libstdc++/93421 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Fail if struct timespec isn't compatible with SYS_clock_gettime. * configure: Regenerate. * src/c++11/chrono.cc: Revert changes for time64 compatibility. Add static_assert instead. * src/c++11/futex.cc (_M_futex_wait_until_steady): Assume SYS_clock_gettime can use struct timespec.
Diffstat (limited to 'gotools')
0 files changed, 0 insertions, 0 deletions