diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-07-13 16:15:56 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-07-14 04:42:58 -0700 |
commit | f896fc0f2bfc9f3f8df0563a7c99dcbf24bab655 (patch) | |
tree | c141461a47a577e88373c197e10e3c7cbf5a6caa /support/timespec.h | |
parent | 5500cdba4018ddbda7909bc7f4f9718610b43cf0 (diff) | |
download | glibc-f896fc0f2bfc9f3f8df0563a7c99dcbf24bab655.tar glibc-f896fc0f2bfc9f3f8df0563a7c99dcbf24bab655.tar.gz glibc-f896fc0f2bfc9f3f8df0563a7c99dcbf24bab655.tar.bz2 glibc-f896fc0f2bfc9f3f8df0563a7c99dcbf24bab655.zip |
Correct timespec implementation [BZ #26232]
commit 04deeaa9ea74b0679dfc9d9155a37b6425f19a9f
Author: Lucas A. M. Magalhaes <lamm@linux.ibm.com>
Date: Fri Jul 10 19:41:06 2020 -0300
Fix time/tst-cpuclock1 intermitent failures
has 2 issues:
1. It assumes time_t == long which is false on x32.
2. tst-timespec.c is compiled without -fexcess-precision=standard which
generates incorrect results on i686 in support_timespec_check_in_range:
double ratio = (double)observed_norm / expected_norm;
return (lower_bound <= ratio && ratio <= upper_bound);
This patch does
1. Compile tst-timespec.c with -fexcess-precision=standard.
2. Replace long with time_t.
3. Replace LONG_MIN and LONG_MAX with TYPE_MINIMUM (time_t) and
TYPE_MAXIMUM (time_t).
Diffstat (limited to 'support/timespec.h')
-rw-r--r-- | support/timespec.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/support/timespec.h b/support/timespec.h index fd5466745d..1a6775a882 100644 --- a/support/timespec.h +++ b/support/timespec.h @@ -48,7 +48,7 @@ void test_timespec_equal_or_after_impl (const char *file, int line, const struct timespec left, const struct timespec right); -long support_timespec_ns (struct timespec time); +time_t support_timespec_ns (struct timespec time); struct timespec support_timespec_normalize (struct timespec time); |