glibc/sysdeps
Adhemerval Zanella 02c91eb611 linux: Add helper function to optimize 64-bit time_t fallback support
These helper functions are used to optimize the 64-bit time_t support on
configurations that requires support for 32-bit time_t fallback
(!__ASSUME_TIME64_SYSCALLS).  The idea is once the kernel advertises that
it does not have 64-bit time_t support, glibc will stop to try issue the
64-bit time_t syscall altogether.

For instance:

  #ifndef __NR_symbol_time64
  # define __NR_symbol_time64 __NR_symbol
  #endif
  int r;
  if (supports_time64 ())
    {
      r = INLINE_SYSCALL_CALL (symbol, ...);
      if (r == 0 || errno != ENOSYS)
        return r;

      mark_time64_unsupported ();
    }
  #ifndef __ASSUME_TIME64_SYSCALLS
  <32-bit fallback syscall>
  #endif
  return r;

On configuration with default 64-bit time_t this optimization should be
optimized away by the compiler resulting in no overhead.
2020-08-24 14:27:15 -03:00
..
aarch64 aarch64: update ulps. 2020-08-13 13:02:35 +01:00
alpha alpha: Use builtin sqrt{f} 2020-06-22 11:09:49 -03:00
arc ARC: Build Infrastructure 2020-07-10 16:08:45 -07:00
arm arm: remove string/tst-memmove-overflow XFAIL 2020-07-16 06:56:52 +02:00
csky semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
generic Linux: Remove rseq support 2020-07-16 17:55:35 +02:00
gnu signal: Move sys_errlist to a compat symbol 2020-07-07 14:10:58 -03:00
hppa dl-runtime: reloc_{offset,index} now functions arch overide'able 2020-06-05 13:45:46 -07:00
htl htl: Move cleanup handling to non-private libc-lock 2020-06-28 00:13:57 +00:00
hurd hurd: Fix build-many-glibcs.py 2020-07-13 14:25:03 -03:00
i386 math: Update x86_64 ulps 2020-08-08 16:43:11 -03:00
ia64 ia64: Use generic exp10f 2020-06-19 12:08:52 -03:00
ieee754 math: Fix inaccuracy of j0f for x >= 2^127 when sin(x)+cos(x) is tiny 2020-08-07 16:33:13 -03:00
m68k m68k: Use sqrt{f} builtin for coldfire 2020-06-22 11:09:50 -03:00
mach hurd: Add missing hidden def 2020-08-06 20:14:01 +02:00
microblaze semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
mips mips: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
nios2 Update Nios II libm-test-ulps file. 2020-08-03 01:42:48 -07:00
nptl y2038: nptl: Convert pthread_{clock|timed}join_np to support 64 bit time 2020-08-13 14:16:34 +02:00
posix hurd: Fix __writev_nocancel_nostatus 2020-06-14 17:45:04 +00:00
powerpc powerpc: Fix incorrect cache line size load in memset (bug 26332) 2020-08-03 18:07:19 +02:00
pthread htl: Enable tst-cancelx?[45] 2020-08-06 23:38:35 +00:00
riscv RISC-V: Update lp64d libm-test-ulps according to HiFive Unleashed 2020-08-04 13:00:17 +01:00
s390 S390: Sync HWCAP names with kernel by adding aliases [BZ #25971] 2020-08-21 11:23:17 +02:00
sh semaphore: consolidate arch headers into a generic one 2020-05-06 13:07:12 -07:00
sparc sparc: Use sqrt{f} builtin 2020-06-22 11:09:49 -03:00
unix linux: Add helper function to optimize 64-bit time_t fallback support 2020-08-24 14:27:15 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
x86 x86: Rename Intel CPU feature names 2020-08-05 11:48:46 -07:00
x86_64 math: Update x86_64 ulps 2020-08-08 16:43:11 -03:00