glibc/sysdeps/unix
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
..
alpha alpha: Refactor syscall and Use Linux kABI for syscall return 2020-02-14 21:09:12 -03:00
arm linux: Consolidate INLINE_SYSCALL 2020-02-14 21:09:12 -03:00
bsd signal: Add signum-{generic,arch}.h 2020-07-07 14:10:58 -03:00
i386 i386: Remove unused file sysdeps/unix/i386/sysdep.S 2020-05-28 13:44:29 +02:00
inet Remove obsolete, never-implemented XSI STREAMS declarations 2019-03-14 15:44:15 +01:00
mips linux: Consolidate INLINE_SYSCALL 2020-02-14 21:09:12 -03:00
powerpc Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
sh linux: Consolidate INLINE_SYSCALL 2020-02-14 21:09:12 -03:00
sysv/linux linux: Add helper function to optimize 64-bit time_t fallback support 2020-08-24 14:27:15 -03:00
x86_64 linux: Consolidate INLINE_SYSCALL 2020-02-14 21:09:12 -03:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getlogin_r.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
grantpt.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
ifreq.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
Implies
make-syscalls.sh Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-04-29 05:35:34 -07:00
Makefile Add arch-syscall.h dependency for generating sysd-syscalls file 2020-05-14 18:40:58 +02:00
pt-fcntl.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
syscall-template.S Add SYSCALL_ULONG_ARG_[12] to pass long to syscall [BZ #25810] 2020-04-29 05:35:34 -07:00
syscall.S Update copyright dates with scripts/update-copyrights. 2020-01-01 00:14:33 +00:00
syscalls.list Mark unsigned long arguments with U in more syscalls [BZ #25810] 2020-04-29 08:10:01 -07:00
sysdep.h linux: Remove INTERNAL_SYSCALL_DECL 2020-02-14 21:12:45 -03:00