From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by sourceware.org (Postfix) with ESMTPS id 609EE389245F for ; Wed, 19 May 2021 09:18:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 609EE389245F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=lukma@denx.de Received: from ktm (85-222-111-42.dynamic.chello.pl [85.222.111.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: lukma@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id D70B582CDD; Wed, 19 May 2021 11:18:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1621415889; bh=Gd+grtDMC27/2pngKnA5Ig/vj056wWYPnszoaNZyGvY=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=VB9ctV/D7/CFz2geyaQfzUIIxa9rdUCzcHFyRUv6y3l4ZqoGQSCmhfUPQ1N5uDHQi WX0BZSvd0JScFqos74w7ERclqBtnACL2NbKEPnHsiKKKDejaoMS8sMXewl7N1Yudfd n2unWWB6iRtFnfFoWwTa3RO4gxjS7MujWOWNgeRJAFwyjsj2piFC05h2hISFt25kcm plpzsAK7FJngnQ5ACLyUS7gsfmqXWcZpCuS5+hA0N2akuAdCKuPZj7grpL/FE6OoCD l+R5EGChkO0quvMgb1eeYAP+zfyzEn8nRo3oTsUT7Q5bye7uBbZYU+gCnCORimO4PK ShGsEIIVT0y7w== Date: Wed, 19 May 2021 11:18:07 +0200 From: Lukasz Majewski To: Adhemerval Zanella Cc: libc-alpha@sourceware.org, Carlos O'Donell Subject: Re: [PATCH v2 19/25] y2038: Add support for 64 bit time on legacy ABIs Message-ID: <20210519111807.6af85f10@ktm> In-Reply-To: <20210518205613.1487824-20-adhemerval.zanella@linaro.org> References: <20210518205613.1487824-1-adhemerval.zanella@linaro.org> <20210518205613.1487824-20-adhemerval.zanella@linaro.org> Organization: denx.de X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/5nJNpJkhGOZMMXCcxknKHjw"; protocol="application/pgp-signature" X-Virus-Scanned: clamav-milter 0.102.4 at phobos.denx.de X-Virus-Status: Clean X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 May 2021 09:18:28 -0000 --Sig_/5nJNpJkhGOZMMXCcxknKHjw Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Tue, 18 May 2021 17:56:07 -0300 Adhemerval Zanella wrote: > A new build flag, _TIME_BITS, enables the usage of the newer 64 bit > time symbols for legacy ABI (where 32 bit time_t is default). The 64 > bit time support is only enabled if LFS (_FILE_OFFSET_BITS=3D64) is > also used. >=20 > Different than LFS support, the y2038 symbols are added only for the > required ABIs (armhf, csky, hppa, i386, m68k, microblaze, mips32, > mips64-n32, nios2, powerpc32, sparc32, s390-32, and sh). The ABIs > with 64 bit time support are unchanged, both for symbol and types > redirection. >=20 > On Linux the full 64 bit time support requires a minimum of kernel > version v5.1. Otherwise, the 32 bit fallbacks are used and might > results in error with overflow return code (EOVERFLOW). >=20 > The i686-gnu does not yet support 64 bit time. >=20 > This patch exports following rediretions to support 64 bit time: >=20 > * libc: > adjtime; > adjtimex; > clock_adjtime; > clock_getres; > clock_gettime; > clock_nanosleep; > clock_settime; > cnd_timedwait; > ctime; > ctime_r; > difftime; > fstat; > fstatat; > futimens; > futimes; > futimesat; > getitimer; > getrusage; > gettimeofday; > gmtime; > gmtime_r; > localtime; > localtime_r; > lstat_time; > lutimes; > mktime; > msgctl; > mtx_timedlock; > nanosleep; > nanosleep; > ntp_gettime; > ntp_gettimex; > ppoll; > pselec; > pselect; > pthread_clockjoin_np; > pthread_cond_clockwait; > pthread_cond_timedwait; > pthread_mutex_clocklock; > pthread_mutex_timedlock; > pthread_rwlock_clockrdlock; > pthread_rwlock_clockwrlock; > pthread_rwlock_timedrdlock; > pthread_rwlock_timedwrlock; > pthread_timedjoin_np; > recvmmsg; > sched_rr_get_interval; > select; > sem_clockwait; > semctl; > semtimedop; > sem_timedwait; > setitimer; > settimeofday; > shmctl; > sigtimedwait; > stat_time; > thrd_sleep; > time; > timegm; > timerfd_gettime; > timerfd_settime; > timespec_get; > utime; > utimensat; > utimes; > utimes; > wait3; > wait4; >=20 > * librt: > - aio_suspend > - mq_timedreceive > - mq_timedsend > - timer_gettime > - timer_settime >=20 > * libanl: > - gai_suspend Reviewed-by: Lukasz Majewski > --- > Makefile | 2 +- > NEWS | 5 + > include/features-time64.h | 1 + > include/features.h | 2 + > io/sys/poll.h | 11 ++ > io/sys/stat.h | 113 ++++++++++++-- > io/utime.h | 11 ++ > manual/creature.texi | 44 ++++++ > misc/sys/select.h | 27 ++++ > nptl/pthread_clockjoin.c | 3 +- > nptl/pthread_cond_wait.c | 9 +- > nptl/pthread_mutex_timedlock.c | 8 +- > nptl/pthread_rwlock_clockrdlock.c | 4 +- > nptl/pthread_rwlock_clockwrlock.c | 4 +- > nptl/pthread_rwlock_timedrdlock.c | 4 +- > nptl/pthread_rwlock_timedwrlock.c | 4 +- > nptl/pthread_timedjoin.c | 3 +- > nptl/sem_clockwait.c | 3 +- > nptl/sem_timedwait.c | 4 +- > posix/sched.h | 11 +- > posix/sys/wait.h | 20 +++ > resolv/netdb.h | 11 ++ > resource/sys/resource.h | 10 ++ > rt/aio.h | 15 +- > rt/mqueue.h | 22 +++ > signal/signal.h | 13 ++ > socket/sys/socket.h | 11 ++ > sysdeps/generic/features-time64.h | 19 +++ > sysdeps/generic/time64-compat.h | 3 + > sysdeps/nptl/pthread.h | 119 +++++++++++++++ > sysdeps/pthread/semaphore.h | 25 ++++ > sysdeps/pthread/threads.h | 33 +++++ > sysdeps/unix/sysv/linux/Versions | 97 ++++++++++++ > sysdeps/unix/sysv/linux/arm/be/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/arm/be/librt.abilist | 5 + > sysdeps/unix/sysv/linux/arm/le/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/arm/le/librt.abilist | 5 + > sysdeps/unix/sysv/linux/arm/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/bits/msq.h | 1 + > sysdeps/unix/sysv/linux/bits/sem.h | 1 + > sysdeps/unix/sysv/linux/bits/shm.h | 1 + > sysdeps/unix/sysv/linux/bits/time.h | 10 ++ > sysdeps/unix/sysv/linux/cnd_timedwait.c | 8 +- > sysdeps/unix/sysv/linux/csky/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/csky/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/csky/librt.abilist | 5 + > sysdeps/unix/sysv/linux/csky/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/features-time64.h | 37 +++++ > sysdeps/unix/sysv/linux/hppa/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/hppa/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/hppa/librt.abilist | 5 + > sysdeps/unix/sysv/linux/hppa/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/i386/Makefile | 2 + > sysdeps/unix/sysv/linux/i386/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/i386/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/i386/librt.abilist | 5 + > sysdeps/unix/sysv/linux/i386/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/include/sys/msg.h | 2 - > sysdeps/unix/sysv/linux/include/sys/shm.h | 2 - > sysdeps/unix/sysv/linux/include/sys/timex.h | 2 + > .../sysv/linux/m68k/coldfire/libanl.abilist | 1 + > .../sysv/linux/m68k/coldfire/libc.abilist | 67 +++++++++ > .../sysv/linux/m68k/coldfire/librt.abilist | 5 + > .../sysv/linux/m68k/m680x0/libanl.abilist | 1 + > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 67 +++++++++ > .../unix/sysv/linux/m68k/m680x0/librt.abilist | 5 + > sysdeps/unix/sysv/linux/m68k/time64-compat.h | 2 + > .../sysv/linux/microblaze/be/libanl.abilist | 1 + > .../sysv/linux/microblaze/be/libc.abilist | 67 +++++++++ > .../sysv/linux/microblaze/be/librt.abilist | 5 + > .../sysv/linux/microblaze/le/libanl.abilist | 1 + > .../sysv/linux/microblaze/le/libc.abilist | 67 +++++++++ > .../sysv/linux/microblaze/le/librt.abilist | 5 + > .../sysv/linux/microblaze/time64-compat.h | 2 + > .../sysv/linux/mips/mips32/fpu/libc.abilist | 67 +++++++++ > .../sysv/linux/mips/mips32/libanl.abilist | 1 + > .../unix/sysv/linux/mips/mips32/librt.abilist | 5 + > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 67 +++++++++ > .../sysv/linux/mips/mips32/time64-compat.h | 2 + > .../sysv/linux/mips/mips64/n32/libanl.abilist | 1 + > .../sysv/linux/mips/mips64/n32/libc.abilist | 67 +++++++++ > .../sysv/linux/mips/mips64/n32/librt.abilist | 5 + > .../linux/mips/mips64/n32/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/mtx_timedlock.c | 8 +- > sysdeps/unix/sysv/linux/nios2/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/nios2/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/nios2/librt.abilist | 5 + > sysdeps/unix/sysv/linux/nios2/time64-compat.h | 2 + > .../linux/powerpc/powerpc32/fpu/libc.abilist | 67 +++++++++ > .../linux/powerpc/powerpc32/libanl.abilist | 1 + > .../linux/powerpc/powerpc32/librt.abilist | 5 + > .../powerpc/powerpc32/nofpu/libc.abilist | 67 +++++++++ > .../linux/powerpc/powerpc32/time64-compat.h | 2 + > .../sysv/linux/s390/s390-32/libanl.abilist | 1 + > .../unix/sysv/linux/s390/s390-32/libc.abilist | 67 +++++++++ > .../sysv/linux/s390/s390-32/librt.abilist | 5 + > .../sysv/linux/s390/s390-32/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/semctl.c | 1 - > sysdeps/unix/sysv/linux/sh/be/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/sh/be/librt.abilist | 5 + > sysdeps/unix/sysv/linux/sh/le/libanl.abilist | 1 + > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 67 +++++++++ > sysdeps/unix/sysv/linux/sh/le/librt.abilist | 5 + > sysdeps/unix/sysv/linux/sh/time64-compat.h | 2 + > .../sysv/linux/sparc/sparc32/libanl.abilist | 1 + > .../sysv/linux/sparc/sparc32/libc.abilist | 67 +++++++++ > .../sysv/linux/sparc/sparc32/librt.abilist | 5 + > .../sysv/linux/sparc/sparc32/time64-compat.h | 2 + > sysdeps/unix/sysv/linux/sys/timerfd.h | 22 +++ > sysdeps/unix/sysv/linux/sys/timex.h | 27 +++- > sysvipc/sys/msg.h | 10 ++ > sysvipc/sys/sem.h | 21 +++ > sysvipc/sys/shm.h | 10 ++ > time/sys/time.h | 71 +++++++++ > time/time.h | 138 > +++++++++++++++++- 118 files changed, 2386 insertions(+), 60 > deletions(-) create mode 100644 include/features-time64.h > create mode 100644 sysdeps/generic/features-time64.h > create mode 100644 sysdeps/generic/time64-compat.h > create mode 100644 sysdeps/unix/sysv/linux/arm/time64-compat.h > create mode 100644 sysdeps/unix/sysv/linux/csky/time64-compat.h > create mode 100644 sysdeps/unix/sysv/linux/features-time64.h > create mode 100644 sysdeps/unix/sysv/linux/hppa/time64-compat.h > create mode 100644 sysdeps/unix/sysv/linux/i386/time64-compat.h > create mode 100644 sysdeps/unix/sysv/linux/m68k/time64-compat.h > create mode 100644 sysdeps/unix/sysv/linux/microblaze/time64-compat.h > create mode 100644 > sysdeps/unix/sysv/linux/mips/mips32/time64-compat.h create mode > 100644 sysdeps/unix/sysv/linux/mips/mips64/n32/time64-compat.h create > mode 100644 sysdeps/unix/sysv/linux/nios2/time64-compat.h create mode > 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/time64-compat.h > create mode 100644 > sysdeps/unix/sysv/linux/s390/s390-32/time64-compat.h create mode > 100644 sysdeps/unix/sysv/linux/sh/time64-compat.h create mode 100644 > sysdeps/unix/sysv/linux/sparc/sparc32/time64-compat.h >=20 > diff --git a/Makefile b/Makefile > index 50f99ca611..6cc93efc27 100644 > --- a/Makefile > +++ b/Makefile > @@ -68,7 +68,7 @@ endif # $(AUTOCONF) =3D no > subdir_objs subdir_stubs subdir_testclean > \ $(addprefix install-, no-libc.a bin lib data headers others) > =0C > -headers :=3D limits.h values.h features.h gnu-versions.h \ > +headers :=3D limits.h values.h features.h features-time64.h > gnu-versions.h \ bits/xopen_lim.h gnu/libc-version.h stdc-predef.h \ > bits/libc-header-start.h > =20 > diff --git a/NEWS b/NEWS > index 266837bf2d..3bb122ec3c 100644 > --- a/NEWS > +++ b/NEWS > @@ -25,6 +25,11 @@ Major new features: > =20 > * The ISO C2X function timespec_getres has been added. > =20 > +* Add support for 64 bit time_t for ABIs with defaults to 32 bit > time_t. > + This is enabled with the _TIME_BITS preprocessor set to 64 and only > + supported when LFS (_FILE_OFFSET_BITS=3D64) is also enabled. It is > only > + enabled for Linux and the full support requires a minimum version > of 5.1. + > Deprecated and removed features, and other changes affecting > compatibility:=20 > * The function pthread_mutex_consistent_np has been deprecated; > programs diff --git a/include/features-time64.h > b/include/features-time64.h new file mode 100644 > index 0000000000..06115b7c86 > --- /dev/null > +++ b/include/features-time64.h > @@ -0,0 +1 @@ > +#include_next > diff --git a/include/features.h b/include/features.h > index eb97470afa..9d39e11345 100644 > --- a/include/features.h > +++ b/include/features.h > @@ -387,6 +387,8 @@ > # define __USE_FILE_OFFSET64 1 > #endif > =20 > +#include > + > #if defined _DEFAULT_SOURCE > # define __USE_MISC 1 > #endif > diff --git a/io/sys/poll.h b/io/sys/poll.h > index 08f29df540..e640efb2bc 100644 > --- a/io/sys/poll.h > +++ b/io/sys/poll.h > @@ -66,6 +66,17 @@ extern int ppoll (struct pollfd *__fds, nfds_t > __nfds, const __sigset_t *__ss) > __attr_access ((__write_only__, 1, 2)); > =20 > +# ifdef __USE_TIME_BITS64 > +# ifdef __REDIRECT > +extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds, > + const struct timespec *__timeout, > + const __sigset_t *__ss), > + __ppoll64) > + __attr_access ((__write_only__, 1, 2)); > +# else > +# define ppoll __ppoll64 > +# endif > +# endif > #endif > =20 > __END_DECLS > diff --git a/io/sys/stat.h b/io/sys/stat.h > index 549375c087..f7874ec5ba 100644 > --- a/io/sys/stat.h > +++ b/io/sys/stat.h > @@ -209,21 +209,51 @@ extern int stat (const char *__restrict __file, > that file descriptor FD is open on and put them in BUF. */ > extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull > ((2)); #else > -# ifdef __REDIRECT_NTH > +# ifdef __USE_TIME_BITS64 > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (stat, (const char *__restrict __file, > + struct stat *__restrict __buf), > + __stat64_time64) > + __nonnull ((1, 2)); > +extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), > + __fstat64_time64) > + __nonnull ((2)); > +# else > +# define stat __stat64_time64 > +# define fstat __fstat64_time64 > +# endif > +# else > +# ifdef __REDIRECT_NTH > extern int __REDIRECT_NTH (stat, (const char *__restrict __file, > struct stat *__restrict __buf), > stat64) __nonnull ((1, 2)); > extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), > fstat64) __nonnull ((2)); > -# else > -# define stat stat64 > -# define fstat fstat64 > +# else > +# define stat stat64 > +# define fstat fstat64 > +# endif > # endif > #endif > #ifdef __USE_LARGEFILE64 > +# ifndef __USE_TIME_BITS64 > extern int stat64 (const char *__restrict __file, > struct stat64 *__restrict __buf) __THROW > __nonnull ((1, 2)); extern int fstat64 (int __fd, struct stat64 > *__buf) __THROW __nonnull ((2)); +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (stat64, (const char *__restrict __file, > + struct stat64 *__restrict __buf), > + __stat64_time64) > + __nonnull ((1, 2)); > +extern int __REDIRECT_NTH (fstat64, (int __fd, struct stat64 *__buf), > + __fstat64_time64) > + __nonnull ((2)); > +# else > +# define stat64 __stat64_time64 > +# define fstat64 __fstat64_time > +# endif > +# endif > #endif > =20 > #ifdef __USE_ATFILE > @@ -235,20 +265,44 @@ extern int fstatat (int __fd, const char > *__restrict __file, struct stat *__restrict __buf, int __flag) > __THROW __nonnull ((2, 3)); > # else > -# ifdef __REDIRECT_NTH > +# ifdef __USE_TIME_BITS64 > +# ifdef __REDIRECT_NTH > extern int __REDIRECT_NTH (fstatat, (int __fd, const char > *__restrict __file, struct stat *__restrict __buf, > int __flag), > - fstatat64) __nonnull ((2, 3)); > + __fstatat64_time64) __nonnull ((2, 3)); > +# else > +# define fstatat __fstatat64_time64 > +# endif > # else > -# define fstatat fstatat64 > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (fstatat, (int __fd, const char > *__restrict __file, > + struct stat *__restrict __buf, > + int __flag), > + fstatat64) __nonnull ((2, 3)); > +# else > +# define fstatat fstatat64 > +# endif > # endif > # endif > =20 > # ifdef __USE_LARGEFILE64 > +# ifndef __USE_TIME_BITS64 > extern int fstatat64 (int __fd, const char *__restrict __file, > struct stat64 *__restrict __buf, int __flag) > __THROW __nonnull ((2, 3)); > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (fstatat64, (int __fd, > + const char *__restrict __file, > + struct stat64 *__restrict > __buf, > + int __flag), > + __fstatat64_time64) > + __nonnull ((2, 3)); > +# else > +# define fstatat64 __fstatat64_time64 > +# endif > +# endif > # endif > #endif > =20 > @@ -259,19 +313,37 @@ extern int fstatat64 (int __fd, const char > *__restrict __file, extern int lstat (const char *__restrict __file, > struct stat *__restrict __buf) __THROW __nonnull > ((1, 2)); # else > -# ifdef __REDIRECT_NTH > +# ifdef __USE_TIME_BITS64 > +# ifdef __REDIRECT_NTH > extern int __REDIRECT_NTH (lstat, > (const char *__restrict __file, > - struct stat *__restrict __buf), lstat64) > + struct stat *__restrict __buf), > __lstat64_time64) __nonnull ((1, 2)); > +# else > +# define lstat __lstat64_time64 > +# endif > # else > -# define lstat lstat64 > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (lstat, > + (const char *__restrict __file, > + struct stat *__restrict __buf), lstat64) > + __nonnull ((1, 2)); > +# else > +# define lstat lstat64 > +# endif > # endif > # endif > # ifdef __USE_LARGEFILE64 > +# ifndef __USE_TIME_BITS64 > extern int lstat64 (const char *__restrict __file, > struct stat64 *__restrict __buf) > __THROW __nonnull ((1, 2)); > +# else > +extern int __REDIRECT_NTH (lstat64, (const char *__restrict __file, > + struct stat64 *__restrict > __buf), > + __lstat64_time64) > + __nonnull ((1, 2)); > +# endif > # endif > #endif > =20 > @@ -355,17 +427,38 @@ extern int mkfifoat (int __fd, const char > *__path, __mode_t __mode) #endif > =0C > #ifdef __USE_ATFILE > +# ifndef __USE_TIME_BITS64 > /* Set file access and modification times relative to directory file > descriptor. */ > extern int utimensat (int __fd, const char *__path, > const struct timespec __times[2], > int __flags) > __THROW __nonnull ((2)); > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (utimensat, (int fd, const char *__path, > + const struct timespec > __times[2], > + int flags), > + __utimensat64) __nonnull ((2)); > +# else > +# define utimensat __utimensat64 > +# endif > +# endif > #endif > =20 > #ifdef __USE_XOPEN2K8 > +# ifndef __USE_TIME_BITS64 > /* Set file access and modification times of the file associated > with FD. */ extern int futimens (int __fd, const struct timespec > __times[2]) __THROW; + > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (futimens, (int fd, const struct timespec > __times[2]), > + __futimens64); > +# else > +# define futimens __futimens64 > +# endif > +# endif > #endif > =20 > #ifdef __USE_GNU > diff --git a/io/utime.h b/io/utime.h > index c7612d0838..1a645a3fff 100644 > --- a/io/utime.h > +++ b/io/utime.h > @@ -46,10 +46,21 @@ struct utimbuf > =20 > /* Set the access and modification times of FILE to those given in > *FILE_TIMES. If FILE_TIMES is NULL, set them to the current > time. */ +#ifndef __USE_TIME_BITS64 > extern int utime (const char *__file, > const struct utimbuf *__file_times) > __THROW __nonnull ((1)); > =20 > +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (utime, (const char *__file, > + const struct utimbuf > *__file_times), > + __utime64); > +# else > +# define utime __utime64 > +# endif > +#endif > + > __END_DECLS > =20 > #endif /* utime.h */ > diff --git a/manual/creature.texi b/manual/creature.texi > index 5090735e4f..606b73d184 100644 > --- a/manual/creature.texi > +++ b/manual/creature.texi > @@ -165,6 +165,50 @@ This macro was introduced as part of the Large > File Support extension (LFS). > @end defvr > =20 > +@defvr Macro _TIME_BITS > +This macro determines the bit size of @code{time_t} (and therefore > the +bit size of all @code{time_t} derived types and the prototypes > of all +related functions). If @code{_TIME_BITS} is undefined, the > bit size of +@code{time_t} is architecture dependent. > + > +Possible values of @code{_TIME_BITS}: > +@enumerate > +@item > +@code{_TIME_BITS=3D64} and port from the outset uses 64-bit > +@code{time_t} and word size equals to @w{64 bits} (e.g. x86_64) - no > +action > + > +@item > +@code{_TIME_BITS=3D32} and port from the outset uses 32-bit > +@code{time_t} and word size equals to @w{64 bits} (e.g. ARM) - no > +action > + > +@item > +@code{_TIME_BITS=3D64} and port from the outset uses 64-bit > +@code{time_t} and word size equals to @w{32 bits} (e.g. ARC, RV32) > +- no action > + > +@item > +@code{_TIME_BITS=3D64} and port from the outset uses 32-bit > +@code{time_t} and word size equals to @w{32 bits} (e.g. ARM) > +- the @code{time_t} is modified to be able to hold 64-bit time. > + > +@item > +For any other use case the compile-time error is emitted. > +@end enumerate > + > +The @code{_TIME_BITS} can be only used when > @code{_FILE_OFFSET_BITS=3D64} +is also defined. > + > +For the point @b{4} above, calls to proper syscalls depend on the > +Linux kernel version on which the system is running. For Linux kernel > +version above @b{5.1} syscalls supporting 64-bit time are used. > Otherwise, +a fallback code is used with legacy (i.e. 32-bit) > syscalls. + > +By using this macro certain ports gain support for 64-bit time and as > +a result become immune to Y2038 problem. > +@end defvr > + > @defvr Macro _ISOC99_SOURCE > @standards{GNU, (none)} > If this macro is defined, features from ISO C99 are included. Since > diff --git a/misc/sys/select.h b/misc/sys/select.h > index 188a7fe607..e9c0e8fc20 100644 > --- a/misc/sys/select.h > +++ b/misc/sys/select.h > @@ -98,10 +98,23 @@ __BEGIN_DECLS > =20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +#ifndef __USE_TIME_BITS64 > extern int select (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > struct timeval *__restrict __timeout); > +#else > +# ifdef __REDIRECT > +extern int __REDIRECT (select, > + (int __nfds, fd_set *__restrict __readfds, > + fd_set *__restrict __writefds, > + fd_set *__restrict __exceptfds, > + struct timeval *__restrict __timeout), > + __select64); > +# else > +# define select __select64 > +# endif > +#endif > =20 > #ifdef __USE_XOPEN2K > /* Same as above only that the TIMEOUT value is given with higher > @@ -110,11 +123,25 @@ extern int select (int __nfds, fd_set > *__restrict __readfds,=20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int pselect (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > const struct timespec *__restrict __timeout, > const __sigset_t *__restrict __sigmask); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (pselect, > + (int __nfds, fd_set *__restrict __readfds, > + fd_set *__restrict __writefds, > + fd_set *__restrict __exceptfds, > + const struct timespec *__restrict __timeout, > + const __sigset_t *__restrict __sigmask), > + __pselect64); > +# else > +# define pselect __pselect64 > +# endif > +# endif > #endif > =20 > =20 > diff --git a/nptl/pthread_clockjoin.c b/nptl/pthread_clockjoin.c > index f5007d7831..2d01ba03a2 100644 > --- a/nptl/pthread_clockjoin.c > +++ b/nptl/pthread_clockjoin.c > @@ -36,7 +36,8 @@ ___pthread_clockjoin_np64 (pthread_t threadid, void > **thread_return, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_clockjoin_np64, ___pthread_clockjoin_np) > #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_clockjoin_np64, __pthread_clockjoin_np64) > +strong_alias (___pthread_clockjoin_np64, __pthread_clockjoin_np64) > +libc_hidden_def (__pthread_clockjoin_np64) > =20 > int > ___pthread_clockjoin_np (pthread_t threadid, void **thread_return, > diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c > index 54e504a6b5..9a5897700b 100644 > --- a/nptl/pthread_cond_wait.c > +++ b/nptl/pthread_cond_wait.c > @@ -644,10 +644,8 @@ ___pthread_cond_timedwait64 (pthread_cond_t > *cond, pthread_mutex_t *mutex, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_cond_timedwait64, ___pthread_cond_timedwait) > #else > -libc_hidden_ver (___pthread_cond_timedwait64, > __pthread_cond_timedwait64) -#ifndef SHARED > strong_alias (___pthread_cond_timedwait64, > __pthread_cond_timedwait64) -#endif > +libc_hidden_def (__pthread_cond_timedwait64) > =20 > int > ___pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t > *mutex, @@ -685,9 +683,8 @@ ___pthread_cond_clockwait64 > (pthread_cond_t *cond, pthread_mutex_t *mutex, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_cond_clockwait64, ___pthread_cond_clockwait) > #else > -versioned_symbol (libc, ___pthread_cond_clockwait64, > - __pthread_cond_clockwait64, GLIBC_PRIVATE); > -libc_hidden_ver (___pthread_cond_clockwait64, > __pthread_cond_clockwait64) +strong_alias > (___pthread_cond_clockwait64, __pthread_cond_clockwait64); > +libc_hidden_def (__pthread_cond_clockwait64)=20 > int > ___pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t > *mutex, diff --git a/nptl/pthread_mutex_timedlock.c > b/nptl/pthread_mutex_timedlock.c index acd78131b2..5afd6222d6 100644 > --- a/nptl/pthread_mutex_timedlock.c > +++ b/nptl/pthread_mutex_timedlock.c > @@ -585,7 +585,8 @@ ___pthread_mutex_clocklock64 (pthread_mutex_t > *mutex, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_mutex_clocklock64, > ___pthread_mutex_clocklock) #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_mutex_clocklock64, > __pthread_mutex_clocklock64) +strong_alias > (___pthread_mutex_clocklock64, __pthread_mutex_clocklock64) > +libc_hidden_def (__pthread_mutex_clocklock64)=20 > int > ___pthread_mutex_clocklock (pthread_mutex_t *mutex, > @@ -618,9 +619,8 @@ ___pthread_mutex_timedlock64 (pthread_mutex_t > *mutex, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_mutex_timedlock64, > ___pthread_mutex_timedlock) #else /* __TIMESPEC64 !=3D 64 */ > -versioned_symbol (libc, ___pthread_mutex_timedlock64, > - __pthread_mutex_timedlock64, GLIBC_PRIVATE); > -libc_hidden_ver (___pthread_mutex_timedlock64, > __pthread_mutex_timedlock64) +strong_alias > (___pthread_mutex_timedlock64, __pthread_mutex_timedlock64); > +libc_hidden_def (__pthread_mutex_timedlock64)=20 > int > ___pthread_mutex_timedlock (pthread_mutex_t *mutex, > diff --git a/nptl/pthread_rwlock_clockrdlock.c > b/nptl/pthread_rwlock_clockrdlock.c index 9db96b9904..83ae1d1823 > 100644 --- a/nptl/pthread_rwlock_clockrdlock.c > +++ b/nptl/pthread_rwlock_clockrdlock.c > @@ -31,8 +31,8 @@ ___pthread_rwlock_clockrdlock64 (pthread_rwlock_t > *rwlock, clockid_t clockid, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_rwlock_clockrdlock64, > ___pthread_rwlock_clockrdlock) #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_rwlock_clockrdlock64, > - __pthread_rwlock_clockrdlock64) > +strong_alias (___pthread_rwlock_clockrdlock64, > __pthread_rwlock_clockrdlock64) +libc_hidden_def > (__pthread_rwlock_clockrdlock64)=20 > int > ___pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t > clockid, diff --git a/nptl/pthread_rwlock_clockwrlock.c > b/nptl/pthread_rwlock_clockwrlock.c index ca0ebe2a65..08a2276da5 > 100644 --- a/nptl/pthread_rwlock_clockwrlock.c > +++ b/nptl/pthread_rwlock_clockwrlock.c > @@ -31,8 +31,8 @@ ___pthread_rwlock_clockwrlock64 (pthread_rwlock_t > *rwlock, clockid_t clockid, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_rwlock_clockwrlock64, > ___pthread_rwlock_clockwrlock) #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_rwlock_clockwrlock64, > - __pthread_rwlock_clockwrlock64) > +strong_alias (___pthread_rwlock_clockwrlock64, > __pthread_rwlock_clockwrlock64) +libc_hidden_def > (__pthread_rwlock_clockwrlock64)=20 > int > ___pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t > clockid, diff --git a/nptl/pthread_rwlock_timedrdlock.c > b/nptl/pthread_rwlock_timedrdlock.c index dd9b7cb0a2..8c73af26fb > 100644 --- a/nptl/pthread_rwlock_timedrdlock.c > +++ b/nptl/pthread_rwlock_timedrdlock.c > @@ -30,8 +30,8 @@ ___pthread_rwlock_timedrdlock64 (pthread_rwlock_t > *rwlock, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_rwlock_timedrdlock64, > ___pthread_rwlock_timedrdlock) #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_rwlock_timedrdlock64, > - __pthread_rwlock_timedrdlock64) > +strong_alias (___pthread_rwlock_timedrdlock64, > __pthread_rwlock_timedrdlock64) +libc_hidden_def > (__pthread_rwlock_timedrdlock64)=20 > int > ___pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock, > diff --git a/nptl/pthread_rwlock_timedwrlock.c > b/nptl/pthread_rwlock_timedwrlock.c index e660a544cd..890da92968 > 100644 --- a/nptl/pthread_rwlock_timedwrlock.c > +++ b/nptl/pthread_rwlock_timedwrlock.c > @@ -30,8 +30,8 @@ ___pthread_rwlock_timedwrlock64 (pthread_rwlock_t > *rwlock, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_rwlock_timedwrlock64, > ___pthread_rwlock_timedwrlock) #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_rwlock_timedwrlock64, > - __pthread_rwlock_timedwrlock64) > +strong_alias (___pthread_rwlock_timedwrlock64, > __pthread_rwlock_timedwrlock64) +libc_hidden_def > (__pthread_rwlock_timedwrlock64)=20 > int > ___pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, > diff --git a/nptl/pthread_timedjoin.c b/nptl/pthread_timedjoin.c > index ebc31f935a..0b4026612f 100644 > --- a/nptl/pthread_timedjoin.c > +++ b/nptl/pthread_timedjoin.c > @@ -31,7 +31,8 @@ ___pthread_timedjoin_np64 (pthread_t threadid, void > **thread_return, #if __TIMESIZE =3D=3D 64 > strong_alias (___pthread_timedjoin_np64, ___pthread_timedjoin_np) > #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___pthread_timedjoin_np64, __pthread_timedjoin_np64) > +strong_alias (___pthread_timedjoin_np64, __pthread_timedjoin_np64) > +libc_hidden_def (__pthread_timedjoin_np64) > =20 > int > ___pthread_timedjoin_np (pthread_t threadid, void **thread_return, > diff --git a/nptl/sem_clockwait.c b/nptl/sem_clockwait.c > index 2739799e26..19751aff04 100644 > --- a/nptl/sem_clockwait.c > +++ b/nptl/sem_clockwait.c > @@ -49,7 +49,8 @@ ___sem_clockwait64 (sem_t *sem, clockid_t clockid, > #if __TIMESIZE =3D=3D 64 > strong_alias (___sem_clockwait64, ___sem_clockwait) > #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___sem_clockwait64, __sem_clockwait64) > +strong_alias (___sem_clockwait64, __sem_clockwait64) > +libc_hidden_def (__sem_clockwait64) > =20 > int > ___sem_clockwait (sem_t *sem, clockid_t clockid, const struct > timespec *abstime) diff --git a/nptl/sem_timedwait.c > b/nptl/sem_timedwait.c index 584546c706..5c8f37d3bb 100644 > --- a/nptl/sem_timedwait.c > +++ b/nptl/sem_timedwait.c > @@ -45,10 +45,8 @@ ___sem_timedwait64 (sem_t *sem, const struct > __timespec64 *abstime) #if __TIMESIZE =3D=3D 64 > strong_alias (___sem_timedwait64, ___sem_timedwait) > #else /* __TIMESPEC64 !=3D 64 */ > -libc_hidden_ver (___sem_timedwait64, __sem_timedwait64) > -#ifndef SHARED > strong_alias (___sem_timedwait64, __sem_timedwait64) > -#endif > +libc_hidden_def (__sem_timedwait64) > =20 > int > ___sem_timedwait (sem_t *sem, const struct timespec *abstime) > diff --git a/posix/sched.h b/posix/sched.h > index d8ce08a3ea..7dd97a49b2 100644 > --- a/posix/sched.h > +++ b/posix/sched.h > @@ -74,8 +74,17 @@ extern int sched_get_priority_max (int > __algorithm) __THROW; extern int sched_get_priority_min (int > __algorithm) __THROW;=20 > /* Get the SCHED_RR interval for the named process. */ > +#ifndef __USE_TIME_BITS64 > extern int sched_rr_get_interval (__pid_t __pid, struct timespec > *__t) __THROW; - > +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (sched_rr_get_interval, > + (__pid_t __pid, struct timespec *__t), > + __sched_rr_get_interval64); > +# else > +# define sched_rr_get_interval __sched_rr_get_interval64 > +# endif > +#endif > =20 > #ifdef __USE_GNU > /* Access macros for `cpu_set'. */ > diff --git a/posix/sys/wait.h b/posix/sys/wait.h > index 9e7bb7f154..5325bfa4d2 100644 > --- a/posix/sys/wait.h > +++ b/posix/sys/wait.h > @@ -144,14 +144,34 @@ struct rusage; > nil, store information about the child's resource usage there. > If the WUNTRACED bit is set in OPTIONS, return status for stopped > children; otherwise don't. */ > +# ifndef __USE_TIME_BITS64 > extern __pid_t wait3 (int *__stat_loc, int __options, > struct rusage * __usage) __THROWNL; > +# else > +# ifdef __REDIRECT_NTHNL > +extern __pid_t __REDIRECT_NTHNL (wait3, (int *__stat_loc, int > __options, > + struct rusage * __usage), > + __wait3_time64); > +# else > +# define wait3 __wait3_time64 > +# endif > +# endif > #endif > =20 > #ifdef __USE_MISC > +# ifndef __USE_TIME_BITS64 > /* PID is like waitpid. Other args are like wait3. */ > extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options, > struct rusage *__usage) __THROWNL; > +# else > +# ifdef __REDIRECT_NTHNL > +extern __pid_t __REDIRECT_NTHNL (wait4, (__pid_t __pid, int > *__stat_loc, > + int __options, struct > rusage *__usage), > + __wait4_time64); > +# else > +# define wait4 __wait4_time64 > +# endif > +# endif > #endif /* Use misc. */ > =20 > =20 > diff --git a/resolv/netdb.h b/resolv/netdb.h > index 1f36f25d4a..9b242ce3d1 100644 > --- a/resolv/netdb.h > +++ b/resolv/netdb.h > @@ -701,6 +701,17 @@ extern int getaddrinfo_a (int __mode, struct > gaicb *__list[__restrict_arr], extern int gai_suspend (const struct > gaicb *const __list[], int __ent, const struct timespec *__timeout); > =20 > +# ifdef __USE_TIME_BITS64 > +# if defined(__REDIRECT) > +extern int __REDIRECT (gai_suspend, (const struct gaicb *const > __list[], > + int __ent, > + const struct timespec > *__timeout), > + __gai_suspend_time64); > +# else > +# define gai_suspend __gai_suspend_time64 > +# endif > +# endif > + > /* Get the error status of the request REQ. */ > extern int gai_error (struct gaicb *__req) __THROW; > =20 > diff --git a/resource/sys/resource.h b/resource/sys/resource.h > index d30379d085..551d25e275 100644 > --- a/resource/sys/resource.h > +++ b/resource/sys/resource.h > @@ -88,6 +88,16 @@ extern int setrlimit64 (__rlimit_resource_t > __resource, and put it in *USAGE. Returns 0 for success, -1 for > failure. */ extern int getrusage (__rusage_who_t __who, struct > rusage *__usage) __THROW;=20 > +#ifdef __USE_TIME_BITS64 > +# if defined(__REDIRECT_NTH) > +extern int __REDIRECT_NTH (getrusage, (__rusage_who_t __who, > + struct rusage *__usage), > + __getrusage64); > +# else > +# define getrusage __getrusage64 > +# endif > +#endif > + > /* Return the highest priority of any process specified by WHICH and > WHO (see above); if WHO is zero, the current process, process group, > or user (as specified by WHO) is used. A lower priority number means > higher diff --git a/rt/aio.h b/rt/aio.h > index 3a107b2783..72cf626690 100644 > --- a/rt/aio.h > +++ b/rt/aio.h > @@ -193,12 +193,17 @@ extern __ssize_t __REDIRECT_NTH (aio_return, > (struct aiocb *__aiocbp), extern int __REDIRECT_NTH (aio_cancel, > (int __fildes, struct aiocb *__aiocbp), > aio_cancel64); > - > +# ifdef __USE_TIME_BITS64 > +extern int __REDIRECT_NTH (aio_suspend, > + (const struct aiocb *const __list[], int > __nent, > + const struct timespec *__restrict > __timeout), > + __aio_suspend_time64) __nonnull ((1)); > +# else > extern int __REDIRECT_NTH (aio_suspend, > (const struct aiocb *const __list[], int > __nent, const struct timespec *__restrict __timeout), > aio_suspend64) __nonnull ((1)); > - > +# endif > extern int __REDIRECT_NTH (aio_fsync, > (int __operation, struct aiocb *__aiocbp), > aio_fsync64) __nonnull ((2)); > @@ -210,7 +215,11 @@ extern int __REDIRECT_NTH (aio_fsync, > # define aio_error aio_error64 > # define aio_return aio_return64 > # define aio_cancel aio_cancel64 > -# define aio_suspend aio_suspend64 > +# ifdef __USE_TIME_BITS64 > +# define aio_suspend __aio_suspend_time64 > +# else > +# define aio_suspend aio_suspend64 > +# endif > # define aio_fsync aio_fsync64 > # endif > #endif > diff --git a/rt/mqueue.h b/rt/mqueue.h > index 8a62d99f50..e8a85637e4 100644 > --- a/rt/mqueue.h > +++ b/rt/mqueue.h > @@ -71,6 +71,7 @@ extern int mq_send (mqd_t __mqdes, const char > *__msg_ptr, size_t __msg_len, unsigned int __msg_prio) __nonnull > ((2));=20 > #ifdef __USE_XOPEN2K > +# ifndef __USE_TIME_BITS64 > /* Receive the oldest from highest priority messages in message queue > MQDES, stop waiting if ABS_TIMEOUT expires. */ > extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict > __msg_ptr, @@ -85,6 +86,27 @@ extern int mq_timedsend (mqd_t __mqdes, > const char *__msg_ptr, size_t __msg_len, unsigned int __msg_prio, > const struct timespec *__abs_timeout) > __nonnull ((2, 5)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (mq_timedreceive, (mqd_t __mqdes, > + char *__restrict __msg_ptr, > + size_t __msg_len, > + unsigned int *__restrict __msg_prio, > + const struct timespec *__restrict > __abs_timeout), > + __mq_timedreceive_time64) > + __nonnull ((2, 5)); > + > +extern int __REDIRECT (mq_timedsend, (mqd_t __mqdes, > + const char *__msg_ptr, size_t __msg_len, > + unsigned int __msg_prio, > + const struct timespec *__abs_timeout), > + __mq_timedsend_time64) > + __nonnull ((2, 5)); > +# else > +# define mq_timedreceive __mq_timedreceive_time64 > +# define mq_timedsend __mq_timedsend_time64 > +# endif > +# endif > #endif > =20 > /* Define some inlines helping to catch common problems. */ > diff --git a/signal/signal.h b/signal/signal.h > index b17203c99c..5fd93382fc 100644 > --- a/signal/signal.h > +++ b/signal/signal.h > @@ -269,10 +269,23 @@ extern int sigwaitinfo (const sigset_t > *__restrict __set,=20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int sigtimedwait (const sigset_t *__restrict __set, > siginfo_t *__restrict __info, > const struct timespec *__restrict __timeout) > __nonnull ((1)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (sigtimedwait, > + (const sigset_t *__restrict __set, > + siginfo_t *__restrict __info, > + const struct timespec *__restrict __timeout), > + __sigtimedwait64) > + __nonnull ((1)); > +# else > +# define sigtimedwait __sigtimedwait64 > +# endif > +# endif > =20 > /* Send signal SIG to the process PID. Associate data in VAL with > the signal. */ > diff --git a/socket/sys/socket.h b/socket/sys/socket.h > index 949851a6ce..5577e75b80 100644 > --- a/socket/sys/socket.h > +++ b/socket/sys/socket.h > @@ -196,9 +196,20 @@ extern ssize_t recvmsg (int __fd, struct msghdr > *__message, int __flags);=20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, > unsigned int __vlen, int __flags, > struct timespec *__tmo); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr > *__vmessages, > + unsigned int __vlen, int __flags, > + struct timespec *__tmo), > + __recvmmsg64); > +# else > +# define recvmmsg __recvmmsg64 > +# endif > +# endif > #endif > =20 > =20 > diff --git a/sysdeps/generic/features-time64.h > b/sysdeps/generic/features-time64.h new file mode 100644 > index 0000000000..a5a677f837 > --- /dev/null > +++ b/sysdeps/generic/features-time64.h > @@ -0,0 +1,19 @@ > +/* Features part to handle 64-bit time_t support. Generic version. > + Copyright (C) 2021 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be > useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + . */ > + > +/* The generic configuration only support _TIME_BITS=3D32. */ > diff --git a/sysdeps/generic/time64-compat.h > b/sysdeps/generic/time64-compat.h new file mode 100644 > index 0000000000..e44b6b68e3 > --- /dev/null > +++ b/sysdeps/generic/time64-compat.h > @@ -0,0 +1,3 @@ > +/* Header included by Versions to generate the 64 bit time_t compat > symbols. > + Legacy ABIs with default 32 bit time support define > TIME64_NON_DEFAULT to > + generate the 64 bit symbols. */ > diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h > index 22e037dcb4..52e2eadbfc 100644 > --- a/sysdeps/nptl/pthread.h > +++ b/sysdeps/nptl/pthread.h > @@ -221,6 +221,7 @@ extern int pthread_join (pthread_t __th, void > **__thread_return); the thread in *THREAD_RETURN, if THREAD_RETURN is > not NULL. */ extern int pthread_tryjoin_np (pthread_t __th, void > **__thread_return) __THROW;=20 > +# ifndef __USE_TIME_BITS64 > /* Make calling thread wait for termination of the thread TH, but > only until TIMEOUT. The exit status of the thread is stored in > *THREAD_RETURN, if THREAD_RETURN is not NULL. > @@ -240,6 +241,23 @@ extern int pthread_timedjoin_np (pthread_t __th, > void **__thread_return, extern int pthread_clockjoin_np (pthread_t > __th, void **__thread_return, clockid_t __clockid, > const struct timespec *__abstime); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (pthread_timedjoin_np, > + (pthread_t __th, void **__thread_return, > + const struct timespec *__abstime), > + __pthread_timedjoin_np64); > + > +extern int __REDIRECT (pthread_clockjoin_np, > + (pthread_t __th, void **__thread_return, > + clockid_t __clockid, > + const struct timespec *__abstime), > + __pthread_clockjoin_np64); > +# else > +# define pthread_timedjoin_np __pthread_timedjoin_np64 > +# define pthread_clockjoin_np __pthread_clockjoin_np64 > +# endif > +# endif > #endif > =20 > /* Indicate that the thread TH is never to be joined with > PTHREAD_JOIN. @@ -776,16 +794,39 @@ extern int pthread_mutex_lock > (pthread_mutex_t *__mutex)=20 > #ifdef __USE_XOPEN2K > /* Wait until lock becomes available, or specified time passes. */ > +# ifndef __USE_TIME_BITS64 > extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict > __mutex, const struct timespec *__restrict > __abstime) __THROWNL __nonnull > ((1, 2)); +# else > +# ifdef __REDIRECT_NTHNL > +extern int __REDIRECT_NTHNL (pthread_mutex_timedlock, > + (pthread_mutex_t *__restrict __mutex, > + const struct timespec *__restrict > __abstime), > + __pthread_mutex_timedlock64) __nonnull > ((1, 2)); +# else > +# define pthread_mutex_timedlock __pthread_mutex_timedlock64 > +# endif > +# endif > #endif > =20 > #ifdef __USE_GNU > +# ifndef __USE_TIME_BITS64 > extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict > __mutex, clockid_t __clockid, > const struct timespec *__restrict > __abstime) __THROWNL __nonnull > ((1, 3)); +# else > +# ifdef __REDIRECT_NTHNL > +extern int __REDIRECT_NTHNL (pthread_mutex_clocklock, > + (pthread_mutex_t *__restrict __mutex, > + clockid_t __clockid, > + const struct timespec *__restrict > __abstime), > + __pthread_mutex_clocklock64) __nonnull > ((1, 3)); +# else > +# define pthread_mutex_clocklock __pthread_mutex_clocklock64 > +# endif > +# endif > #endif > =20 > /* Unlock a mutex. */ > @@ -939,16 +980,41 @@ extern int pthread_rwlock_tryrdlock > (pthread_rwlock_t *__rwlock)=20 > # ifdef __USE_XOPEN2K > /* Try to acquire read lock for RWLOCK or return after specfied > time. */ +# ifndef __USE_TIME_BITS64 > extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict > __rwlock, const struct timespec *__restrict > __abstime) __THROWNL > __nonnull ((1, 2)); +# else > +# ifdef __REDIRECT_NTHNL > +extern int __REDIRECT_NTHNL (pthread_rwlock_timedrdlock, > + (pthread_rwlock_t *__restrict __rwlock, > + const struct timespec *__restrict > __abstime), > + __pthread_rwlock_timedrdlock64) > + __nonnull ((1, 2)); > +# else > +# define pthread_rwlock_timedrdlock __pthread_rwlock_timedrdlock64 > +# endif > +# endif > # endif > =20 > # ifdef __USE_GNU > +# ifndef __USE_TIME_BITS64 > extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict > __rwlock, clockid_t __clockid, > const struct timespec > *__restrict __abstime) __THROWNL __nonnull ((1, 3)); > +# else > +# ifdef __REDIRECT_NTHNL > +extern int __REDIRECT_NTHNL (pthread_rwlock_clockrdlock, > + (pthread_rwlock_t *__restrict __rwlock, > + clockid_t __clockid, > + const struct timespec *__restrict > __abstime), > + __pthread_rwlock_clockrdlock64) > + __nonnull ((1, 3)); > +# else > +# define pthread_rwlock_clockrdlock __pthread_rwlock_clockrdlock64 > +# endif > +# endif > # endif > =20 > /* Acquire write lock for RWLOCK. */ > @@ -961,16 +1027,42 @@ extern int pthread_rwlock_trywrlock > (pthread_rwlock_t *__rwlock)=20 > # ifdef __USE_XOPEN2K > /* Try to acquire write lock for RWLOCK or return after specfied > time. */ +# ifndef __USE_TIME_BITS64 > extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict > __rwlock, const struct timespec *__restrict > __abstime) __THROWNL > __nonnull ((1, 2)); +# else > +# ifdef __REDIRECT_NTHNL > +extern int __REDIRECT_NTHNL (pthread_rwlock_timedwrlock, > + (pthread_rwlock_t *__restrict __rwlock, > + const struct timespec *__restrict > __abstime), > + __pthread_rwlock_timedwrlock64) > + __nonnull ((1, 2)); > +# else > +# define pthread_rwlock_timedwrlock __pthread_rwlock_timedwrlock64 > +# endif > +# endif > # endif > =20 > # ifdef __USE_GNU > +# ifndef __USE_TIME_BITS64 > extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict > __rwlock, clockid_t __clockid, > const struct timespec > *__restrict __abstime) __THROWNL __nonnull ((1, 3)); > + > +# else > +# ifdef __REDIRECT_NTHNL > +extern int __REDIRECT_NTHNL (pthread_rwlock_clockwrlock, > + (pthread_rwlock_t *__restrict __rwlock, > + clockid_t __clockid, > + const struct timespec *__restrict > __abstime), > + __pthread_rwlock_clockwrlock64) > + __nonnull ((1, 3)); > +# else > +# define pthread_rwlock_clockwrlock __pthread_rwlock_clockwrlock64 > +# endif > +# endif > # endif > =20 > /* Unlock RWLOCK. */ > @@ -1047,10 +1139,23 @@ extern int pthread_cond_wait (pthread_cond_t > *__restrict __cond,=20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, > pthread_mutex_t *__restrict > __mutex, const struct timespec *__restrict __abstime) > __nonnull ((1, 2, 3)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (pthread_cond_timedwait, > + (pthread_cond_t *__restrict __cond, > + pthread_mutex_t *__restrict __mutex, > + const struct timespec *__restrict __abstime), > + __pthread_cond_timedwait64) > + __nonnull ((1, 2, 3)); > +# else > +# define pthread_cond_timedwait __pthread_cond_timedwait64 > +# endif > +# endif > =20 > # ifdef __USE_GNU > /* Wait for condition variable COND to be signaled or broadcast until > @@ -1060,11 +1165,25 @@ extern int pthread_cond_timedwait > (pthread_cond_t *__restrict __cond,=20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, > pthread_mutex_t *__restrict > __mutex, __clockid_t __clock_id, > const struct timespec *__restrict > __abstime) __nonnull ((1, 2, 4)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (pthread_cond_clockwait, > + (pthread_cond_t *__restrict __cond, > + pthread_mutex_t *__restrict __mutex, > + __clockid_t __clock_id, > + const struct timespec *__restrict __abstime), > + __pthread_cond_clockwait64) > + __nonnull ((1, 2, 4)); > +# else > +# define pthread_cond_clockwait __pthread_cond_clockwait64 > +# endif > +# endif > # endif > =20 > /* Functions for handling condition variable attributes. */ > diff --git a/sysdeps/pthread/semaphore.h b/sysdeps/pthread/semaphore.h > index 7fb0e5c103..35780e7c4e 100644 > --- a/sysdeps/pthread/semaphore.h > +++ b/sysdeps/pthread/semaphore.h > @@ -59,16 +59,41 @@ extern int sem_wait (sem_t *__sem) __nonnull > ((1));=20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int sem_timedwait (sem_t *__restrict __sem, > const struct timespec *__restrict > __abstime) __nonnull ((1, 2)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (sem_timedwait, > + (sem_t *__restrict __sem, > + const struct timespec *__restrict __abstime), > + __sem_timedwait64) > + __nonnull ((1, 2)); > +# else > +# define sem_timedwait __sem_timedwait64 > +# endif > +# endif > #endif > =20 > #ifdef __USE_GNU > +# ifndef __USE_TIME_BITS64 > extern int sem_clockwait (sem_t *__restrict __sem, > clockid_t clock, > const struct timespec *__restrict > __abstime) __nonnull ((1, 3)); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (sem_clockwait, > + (sem_t *__restrict __sem, > + clockid_t clock, > + const struct timespec *__restrict __abstime), > + __sem_clockwait64) > + __nonnull ((1, 3)); > +# else > +# define sem_clockwait __sem_clockwait64 > +# endif > +# endif > #endif > =20 > /* Test whether SEM is posted. */ > diff --git a/sysdeps/pthread/threads.h b/sysdeps/pthread/threads.h > index 46929a025e..bf251c9db4 100644 > --- a/sysdeps/pthread/threads.h > +++ b/sysdeps/pthread/threads.h > @@ -88,8 +88,18 @@ extern thrd_t thrd_current (void); > __TIME_POINT. The current thread may resume if receives a > signal. In that case, if __REMAINING is not NULL, the remaining time > is stored in the object pointed by it. */ > +#ifndef __USE_TIME_BITS64 > extern int thrd_sleep (const struct timespec *__time_point, > struct timespec *__remaining); > +#else > +# ifdef __REDIRECT > +extern int __REDIRECT (thrd_sleep, (const struct timespec > *__time_point, > + struct timespec *__remaining), > + __thrd_sleep64); > +# else > +# define thrd_sleep __thrd_sleep64 > +# endif > +#endif > =20 > /* Terminate current thread execution, cleaning up any thread local > storage and freeing resources. Returns the value specified in > __RES. */ @@ -131,8 +141,19 @@ extern int mtx_lock (mtx_t *__mutex); > /* Block the current thread until the mutex pointed by __MUTEX is > unlocked or time pointed by __TIME_POINT is reached. In case the > mutex is unlock, the current thread will not be blocked. */ > +#ifndef __USE_TIME_BITS64 > extern int mtx_timedlock (mtx_t *__restrict __mutex, > const struct timespec *__restrict > __time_point); +#else > +# ifdef __REDIRECT > +extern int __REDIRECT (mtx_timedlock, (mtx_t *__restrict __mutex, > + const struct timespec > *__restrict > + __time_point), > + __mtx_timedlock64); > +# else > +# define mtx_timedlock __mtx_timedlock64 > +# endif > +#endif > =20 > /* Try to lock the mutex pointed by __MUTEX without blocking. If > the mutex is free the current threads takes control of it, otherwise > it returns @@ -171,9 +192,21 @@ extern int cnd_wait (cnd_t *__cond, > mtx_t *__mutex); /* Block current thread on the condition variable > until condition variable pointed by __COND is signaled or time > pointed by __TIME_POINT is reached. */ > +#ifndef __USE_TIME_BITS64 > extern int cnd_timedwait (cnd_t *__restrict __cond, > mtx_t *__restrict __mutex, > const struct timespec *__restrict > __time_point); +#else > +# ifdef __REDIRECT > +extern int __REDIRECT (cnd_timedwait, (cnd_t *__restrict __cond, > + mtx_t *__restrict __mutex, > + const struct timespec > *__restrict > + __time_point), > + __cnd_timedwait64); > +# else > +# define cnd_timedwait __cnd_timedwait64 > +# endif > +#endif > =20 > /* Destroy condition variable pointed by __cond and free all of its > resources. */ > diff --git a/sysdeps/unix/sysv/linux/Versions > b/sysdeps/unix/sysv/linux/Versions index 148f04c50a..52fedc61f0 100644 > --- a/sysdeps/unix/sysv/linux/Versions > +++ b/sysdeps/unix/sysv/linux/Versions > @@ -1,3 +1,4 @@ > +%include > libc { > GLIBC_2.0 { > # functions used in inline functions or macros > @@ -168,6 +169,81 @@ libc { > getdents64; gettid; tgkill; > } > GLIBC_2.32 { > + } > + GLIBC_2.34 { > +%ifdef TIME64_NON_DEFAULT > + # 64 bit time_t support > + __adjtime64; > + ___adjtimex64; > + __clock_adjtime64; > + __clock_getres64; > + __clock_gettime64; > + __clock_nanosleep_time64; > + __clock_settime64; > + __cnd_timedwait64; > + __ctime64; > + __ctime64_r; > + __difftime64; > + __fstat64_time64; > + __fstatat64_time64; > + __futimens64; > + __futimes64; > + __futimesat64; > + __getitimer64; > + __getrusage64; > + __gettimeofday64; > + __gmtime64; > + __gmtime64_r; > + __localtime64; > + __localtime64_r; > + __lstat64_time64; > + __lutimes64; > + __mktime64; > + __msgctl64; > + __mtx_timedlock64; > + __nanosleep64; > + __nanosleep64; > + __ntp_gettime64; > + __ntp_gettimex64; > + __ppoll64; > + __pselec64; > + __pselect64; > + __pthread_clockjoin_np64; > + __pthread_cond_clockwait64; > + __pthread_cond_timedwait64; > + __pthread_mutex_clocklock64; > + __pthread_mutex_timedlock64; > + __pthread_rwlock_clockrdlock64; > + __pthread_rwlock_clockwrlock64; > + __pthread_rwlock_timedrdlock64; > + __pthread_rwlock_timedwrlock64; > + __pthread_timedjoin_np64; > + __recvmmsg64; > + __sched_rr_get_interval64; > + __select64; > + __sem_clockwait64; > + __semctl64; > + __semtimedop64; > + __sem_timedwait64; > + __setitimer64; > + __settimeofday64; > + __shmctl64; > + __sigtimedwait64; > + __stat64_time64; > + __thrd_sleep64; > + __time64; > + __timegm64; > + __timerfd_gettime64; > + __timerfd_settime64; > + __timespec_get64; > + __timespec_getres64; > + __utime64; > + __utimensat64; > + __utimes64; > + __utimes64; > + __wait3_time64; > + __wait4_time64; > +%endif > } > GLIBC_PRIVATE { > # functions used in other libraries > @@ -188,3 +264,24 @@ ld { > __nptl_change_stack_perm; > } > } > + > +librt { > + GLIBC_2.34 { > +%ifdef TIME64_NON_DEFAULT > + # 64 bit time_t support > + __aio_suspend_time64; > + __mq_timedsend_time64; > + __mq_timedreceive_time64; > + __timer_gettime64; > + __timer_settime64; > +%endif > + } > +} > + > +libanl { > +%ifdef TIME64_NON_DEFAULT > + GLIBC_2.34 { > + __gai_suspend_time64; > + } > +%endif > +} > diff --git a/sysdeps/unix/sysv/linux/arm/be/libanl.abilist > b/sysdeps/unix/sysv/linux/arm/be/libanl.abilist index > a8fafedb66..37f9b49e52 100644 --- > a/sysdeps/unix/sysv/linux/arm/be/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/arm/be/libanl.abilist @@ -1,3 +1,4 @@ > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.4 gai_cancel F > GLIBC_2.4 gai_error F > GLIBC_2.4 gai_suspend F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index > 7c3029a7e5..694033a42b 100644 --- > a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -189,16 +189,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist > b/sysdeps/unix/sysv/linux/arm/be/librt.abilist index > 3c0647b251..8cb1ed626c 100644 --- > a/sysdeps/unix/sysv/linux/arm/be/librt.abilist +++ > b/sysdeps/unix/sysv/linux/arm/be/librt.abilist @@ -1,3 +1,8 @@ > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 aio_cancel F > GLIBC_2.4 aio_cancel64 F > GLIBC_2.4 aio_error F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libanl.abilist > b/sysdeps/unix/sysv/linux/arm/le/libanl.abilist index > a8fafedb66..37f9b49e52 100644 --- > a/sysdeps/unix/sysv/linux/arm/le/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/arm/le/libanl.abilist @@ -1,3 +1,4 @@ > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.4 gai_cancel F > GLIBC_2.4 gai_error F > GLIBC_2.4 gai_suspend F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index > 24f5b202e8..1ead45904f 100644 --- > a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -186,16 +186,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist > b/sysdeps/unix/sysv/linux/arm/le/librt.abilist index > 3c0647b251..8cb1ed626c 100644 --- > a/sysdeps/unix/sysv/linux/arm/le/librt.abilist +++ > b/sysdeps/unix/sysv/linux/arm/le/librt.abilist @@ -1,3 +1,8 @@ > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 aio_cancel F > GLIBC_2.4 aio_cancel64 F > GLIBC_2.4 aio_error F > diff --git a/sysdeps/unix/sysv/linux/arm/time64-compat.h > b/sysdeps/unix/sysv/linux/arm/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/arm/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/bits/msq.h > b/sysdeps/unix/sysv/linux/bits/msq.h index 3313b69d78..7c9c479551 > 100644 --- a/sysdeps/unix/sysv/linux/bits/msq.h > +++ b/sysdeps/unix/sysv/linux/bits/msq.h > @@ -26,6 +26,7 @@ typedef __syscall_ulong_t msgqnum_t; > typedef __syscall_ulong_t msglen_t; > =20 > #include > +#include > =20 > /* Define options for message queue functions. */ > #define MSG_NOERROR 010000 /* no error if message is > too big */ diff --git a/sysdeps/unix/sysv/linux/bits/sem.h > b/sysdeps/unix/sysv/linux/bits/sem.h index ad13287e66..776524b876 > 100644 --- a/sysdeps/unix/sysv/linux/bits/sem.h > +++ b/sysdeps/unix/sysv/linux/bits/sem.h > @@ -22,6 +22,7 @@ > #include > #include > #include > +#include > =20 > /* Flags for `semop'. */ > #define SEM_UNDO 0x1000 /* undo the operation > on exit */ diff --git a/sysdeps/unix/sysv/linux/bits/shm.h > b/sysdeps/unix/sysv/linux/bits/shm.h index a50c79d7be..454fc3f366 > 100644 --- a/sysdeps/unix/sysv/linux/bits/shm.h > +++ b/sysdeps/unix/sysv/linux/bits/shm.h > @@ -43,6 +43,7 @@ __BEGIN_DECLS > typedef __syscall_ulong_t shmatt_t; > =20 > #include > +#include > =20 > #ifdef __USE_MISC > =20 > diff --git a/sysdeps/unix/sysv/linux/bits/time.h > b/sysdeps/unix/sysv/linux/bits/time.h index ee5a8b3ef4..d0c98a7864 > 100644 --- a/sysdeps/unix/sysv/linux/bits/time.h > +++ b/sysdeps/unix/sysv/linux/bits/time.h > @@ -77,6 +77,16 @@ __BEGIN_DECLS > /* Tune a POSIX clock. */ > extern int clock_adjtime (__clockid_t __clock_id, struct timex > *__utx) __THROW;=20 > +#ifdef __USE_TIME_BITS64 > +# if defined(__REDIRECT_NTH) > +extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, > + struct timex *__utx), > + __clock_adjtime64); > +# else > +# define clock_adjtime __clock_adjtime64 > +# endif > +#endif > + > __END_DECLS > #endif /* use GNU */ > =20 > diff --git a/sysdeps/unix/sysv/linux/cnd_timedwait.c > b/sysdeps/unix/sysv/linux/cnd_timedwait.c index > 0415c683f9..6e8ce3d61b 100644 --- > a/sysdeps/unix/sysv/linux/cnd_timedwait.c +++ > b/sysdeps/unix/sysv/linux/cnd_timedwait.c @@ -21,8 +21,8 @@ > #include "thrd_priv.h" > =20 > int > -___cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex, > - const struct __timespec64 *restrict time_point) > +__cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex, > + const struct __timespec64 *restrict time_point) > { > int err_code =3D __pthread_cond_timedwait64 ((pthread_cond_t *) cond, > (pthread_mutex_t *) > mutex, @@ -31,9 +31,9 @@ ___cnd_timedwait64 (cnd_t *restrict cond, > mtx_t *restrict mutex, } > =20 > #if __TIMESIZE =3D=3D 64 > -strong_alias (___cnd_timedwait64, ___cnd_timedwait) > +strong_alias (__cnd_timedwait64, ___cnd_timedwait) > #else > -libc_hidden_ver (___cnd_timedwait64, __cnd_timedwait64) > +libc_hidden_def (__cnd_timedwait64) > =20 > int > ___cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex, > diff --git a/sysdeps/unix/sysv/linux/csky/libanl.abilist > b/sysdeps/unix/sysv/linux/csky/libanl.abilist index > 416a6f8ddb..01f2e6cbf0 100644 --- > a/sysdeps/unix/sysv/linux/csky/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/csky/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.29 gai_cancel F GLIBC_2.29 gai_error F > GLIBC_2.29 gai_suspend F > GLIBC_2.29 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist > b/sysdeps/unix/sysv/linux/csky/libc.abilist index > 85851c5fca..e8fce124fd 100644 --- > a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ > b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2266,16 +2266,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist > b/sysdeps/unix/sysv/linux/csky/librt.abilist index > c6690ef7c1..b60deca65a 100644 --- > a/sysdeps/unix/sysv/linux/csky/librt.abilist +++ > b/sysdeps/unix/sysv/linux/csky/librt.abilist @@ -33,3 +33,8 @@ > GLIBC_2.29 timer_delete F GLIBC_2.29 timer_getoverrun F > GLIBC_2.29 timer_gettime F > GLIBC_2.29 timer_settime F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > diff --git a/sysdeps/unix/sysv/linux/csky/time64-compat.h > b/sysdeps/unix/sysv/linux/csky/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/csky/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/features-time64.h > b/sysdeps/unix/sysv/linux/features-time64.h new file mode 100644 > index 0000000000..c6a0a1874c > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/features-time64.h > @@ -0,0 +1,37 @@ > +/* Features part to handle 64-bit time_t support. > + Copyright (C) 2021 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be > useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + . */ > + > +/* We need to know the word size in order to check the time size. */ > +#include > +#include > + > +#if defined _TIME_BITS > +# if _TIME_BITS =3D=3D 64 > +# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS !=3D 64 > +# error "_TIME_BITS=3D64 is allowed only with _FILE_OFFSET_BITS=3D64" > +# elif __TIMESIZE =3D=3D 32 > +# define __USE_TIME_BITS64 1 > +# endif > +# elif _TIME_BITS =3D=3D 32 > +# if __TIMESIZE > 32 > +# error "_TIME_BITS=3D32 is not compatible with __TIMESIZE > 32" > +# endif > +# else > +# error Invalid _TIME_BITS value (can only be 32 or 64 bits) > +# endif > +#endif > diff --git a/sysdeps/unix/sysv/linux/hppa/libanl.abilist > b/sysdeps/unix/sysv/linux/hppa/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/hppa/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/hppa/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist > b/sysdeps/unix/sysv/linux/hppa/libc.abilist index > ede69c7ed5..f196d94139 100644 --- > a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ > b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2219,16 +2219,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist > b/sysdeps/unix/sysv/linux/hppa/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/hppa/librt.abilist +++ > b/sysdeps/unix/sysv/linux/hppa/librt.abilist @@ -32,6 +32,11 @@ > GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/hppa/time64-compat.h > b/sysdeps/unix/sysv/linux/hppa/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/hppa/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/i386/Makefile > b/sysdeps/unix/sysv/linux/i386/Makefile index da716e2c1b..8d5efb4f65 > 100644 --- a/sysdeps/unix/sysv/linux/i386/Makefile > +++ b/sysdeps/unix/sysv/linux/i386/Makefile > @@ -1,6 +1,8 @@ > # The default ABI is 32. > default-abi :=3D 32 > =20 > +extra-version :=3D Versions-y2038 > + > ifeq ($(subdir),misc) > sysdep_routines +=3D ioperm iopl vm86 > =20 > diff --git a/sysdeps/unix/sysv/linux/i386/libanl.abilist > b/sysdeps/unix/sysv/linux/i386/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/i386/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/i386/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist > b/sysdeps/unix/sysv/linux/i386/libc.abilist index > c883dc08bc..0687af280c 100644 --- > a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ > b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2401,17 +2401,84 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __isnanf128 F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist > b/sysdeps/unix/sysv/linux/i386/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/i386/librt.abilist +++ > b/sysdeps/unix/sysv/linux/i386/librt.abilist @@ -32,6 +32,11 @@ > GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/i386/time64-compat.h > b/sysdeps/unix/sysv/linux/i386/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/i386/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/include/sys/msg.h > b/sysdeps/unix/sysv/linux/include/sys/msg.h index > 522903f818..c460be0dc9 100644 --- > a/sysdeps/unix/sysv/linux/include/sys/msg.h +++ > b/sysdeps/unix/sysv/linux/include/sys/msg.h @@ -7,8 +7,6 @@ extern > ssize_t __libc_msgrcv (int msqid, void *msgp, size_t msgsz, extern > int __libc_msgsnd (int msqid, const void *msgp, size_t msgsz, int > msgflg);=20 > -# include > - > # if __TIMESIZE =3D=3D 64 > # define __msgctl64 __msgctl > # else > diff --git a/sysdeps/unix/sysv/linux/include/sys/shm.h > b/sysdeps/unix/sysv/linux/include/sys/shm.h index > 530a1cdfc9..85177a632d 100644 --- > a/sysdeps/unix/sysv/linux/include/sys/shm.h +++ > b/sysdeps/unix/sysv/linux/include/sys/shm.h @@ -3,8 +3,6 @@ > =20 > #ifndef _ISOMAC > =20 > -# include > - > # if __TIMESIZE =3D=3D 64 > # define __shmctl64 __shmctl > # else > diff --git a/sysdeps/unix/sysv/linux/include/sys/timex.h > b/sysdeps/unix/sysv/linux/include/sys/timex.h index > e136ed172e..c554248ed9 100644 --- > a/sysdeps/unix/sysv/linux/include/sys/timex.h +++ > b/sysdeps/unix/sysv/linux/include/sys/timex.h @@ -23,10 +23,12 @@ > =20 > # ifndef _ISOMAC > =20 > +extern int __adjtimex (struct timex *__ntx); > libc_hidden_proto (__adjtimex) > =20 > # include > # include > + > /* Local definition of 64 bit time supporting timex struct */ > # if __TIMESIZE =3D=3D 64 > # define __timex64 timex > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist > b/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist index > a8fafedb66..37f9b49e52 100644 --- > a/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist @@ -1,3 +1,4 @@ > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.4 gai_cancel F > GLIBC_2.4 gai_error F > GLIBC_2.4 gai_suspend F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index > 8ee9648828..bfd2b7c135 100644 --- > a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -190,16 > +190,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist index > 3c0647b251..8cb1ed626c 100644 --- > a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist @@ -1,3 +1,8 @@ > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 aio_cancel F > GLIBC_2.4 aio_cancel64 F > GLIBC_2.4 aio_error F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist > b/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index > 1c51cb41ec..2bd9f7ab64 100644 --- > a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2345,16 > +2345,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist +++ > b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist @@ -32,6 +32,11 > @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/m68k/time64-compat.h > b/sysdeps/unix/sysv/linux/m68k/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/m68k/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist > b/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist index > 67c7554803..c06e33a1cf 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist @@ -2,3 +2,4 > @@ GLIBC_2.18 gai_cancel F GLIBC_2.18 gai_error F > GLIBC_2.18 gai_suspend F > GLIBC_2.18 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index > f8b67cd170..2436c57b2e 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2317,16 > +2317,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist > b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist index > 889dfbc0ee..1b8fc10087 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist @@ -33,3 +33,8 > @@ GLIBC_2.18 timer_delete F GLIBC_2.18 timer_getoverrun F > GLIBC_2.18 timer_gettime F > GLIBC_2.18 timer_settime F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist > b/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist index > 67c7554803..c06e33a1cf 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist @@ -2,3 +2,4 > @@ GLIBC_2.18 gai_cancel F GLIBC_2.18 gai_error F > GLIBC_2.18 gai_suspend F > GLIBC_2.18 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index > edac4a1bb4..1262d01845 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2314,16 > +2314,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist > b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist index > 889dfbc0ee..1b8fc10087 100644 --- > a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist +++ > b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist @@ -33,3 +33,8 > @@ GLIBC_2.18 timer_delete F GLIBC_2.18 timer_getoverrun F > GLIBC_2.18 timer_gettime F > GLIBC_2.18 timer_settime F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/time64-compat.h > b/sysdeps/unix/sysv/linux/microblaze/time64-compat.h new file mode > 100644 index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/microblaze/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index > db900c89ab..2812b458c8 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2310,16 > +2310,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist index > 1539c1cef9..c4dd28e3b2 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist @@ -32,6 +32,11 > @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index > 4e15f48b6c..782c5470a6 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2308,16 > +2308,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/time64-compat.h > b/sysdeps/unix/sysv/linux/mips/mips32/time64-compat.h new file mode > 100644 index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/mips/mips32/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist @@ -2,3 +2,4 > @@ GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index > 616a6076f1..3487d0f4c3 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2316,16 > +2316,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist > b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist index > 1539c1cef9..c4dd28e3b2 100644 --- > a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist +++ > b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist @@ -32,6 > +32,11 @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/time64-compat.h > b/sysdeps/unix/sysv/linux/mips/mips64/n32/time64-compat.h new file > mode 100644 index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/mtx_timedlock.c > b/sysdeps/unix/sysv/linux/mtx_timedlock.c index > 7715ebb315..8983eb8556 100644 --- > a/sysdeps/unix/sysv/linux/mtx_timedlock.c +++ > b/sysdeps/unix/sysv/linux/mtx_timedlock.c @@ -21,8 +21,8 @@ > #include "thrd_priv.h" > =20 > int > -___mtx_timedlock64 (mtx_t *restrict mutex, > - const struct __timespec64 *restrict time_point) > +__mtx_timedlock64 (mtx_t *restrict mutex, > + const struct __timespec64 *restrict time_point) > { > int err_code =3D __pthread_mutex_timedlock64 ((pthread_mutex_t > *)mutex, time_point); > @@ -30,9 +30,9 @@ ___mtx_timedlock64 (mtx_t *restrict mutex, > } > =20 > #if __TIMESIZE =3D=3D 64 > -strong_alias (___mtx_timedlock64, ___mtx_timedlock) > +strong_alias (__mtx_timedlock64, ___mtx_timedlock) > #else > -libc_hidden_ver (___mtx_timedlock64, __mtx_timedlock64) > +libc_hidden_def (__mtx_timedlock64) > =20 > int > ___mtx_timedlock (mtx_t *restrict mutex, > diff --git a/sysdeps/unix/sysv/linux/nios2/libanl.abilist > b/sysdeps/unix/sysv/linux/nios2/libanl.abilist index > 6ff9c2d94e..6b080bd075 100644 --- > a/sysdeps/unix/sysv/linux/nios2/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/nios2/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.21 gai_cancel F GLIBC_2.21 gai_error F > GLIBC_2.21 gai_suspend F > GLIBC_2.21 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist > b/sysdeps/unix/sysv/linux/nios2/libc.abilist index > 0fc42897aa..056254475b 100644 --- > a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ > b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2356,16 +2356,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist > b/sysdeps/unix/sysv/linux/nios2/librt.abilist index > b4ae7a2dc2..2458614125 100644 --- > a/sysdeps/unix/sysv/linux/nios2/librt.abilist +++ > b/sysdeps/unix/sysv/linux/nios2/librt.abilist @@ -33,3 +33,8 @@ > GLIBC_2.21 timer_delete F GLIBC_2.21 timer_getoverrun F > GLIBC_2.21 timer_gettime F > GLIBC_2.21 timer_settime F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > diff --git a/sysdeps/unix/sysv/linux/nios2/time64-compat.h > b/sysdeps/unix/sysv/linux/nios2/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/nios2/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index > 553ecdabc9..98e1da179b 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ > -2372,16 +2372,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist @@ -2,3 > +2,4 @@ GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist @@ -32,6 > +32,11 @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index > 7ec438f7b4..6dc0ecf108 100644 --- > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ > -2405,16 +2405,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git > a/sysdeps/unix/sysv/linux/powerpc/powerpc32/time64-compat.h > b/sysdeps/unix/sysv/linux/powerpc/powerpc32/time64-compat.h new file > mode 100644 index 0000000000..700f854597 --- /dev/null > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist > b/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index > 2274342208..230031f2be 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2370,16 > +2370,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist +++ > b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist @@ -32,6 +32,11 > @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/time64-compat.h > b/sysdeps/unix/sysv/linux/s390/s390-32/time64-compat.h new file mode > 100644 index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/semctl.c > b/sysdeps/unix/sysv/linux/semctl.c index 1043b2b80d..bb2690d30f 100644 > --- a/sysdeps/unix/sysv/linux/semctl.c > +++ b/sysdeps/unix/sysv/linux/semctl.c > @@ -21,7 +21,6 @@ > #include > #include > #include > -#include /* For __semid64_ds. */ > #include /* For __kernel_mode_t. > */=20 > /* The struct used to issue the syscall. For architectures that > assume diff --git a/sysdeps/unix/sysv/linux/sh/be/libanl.abilist > b/sysdeps/unix/sysv/linux/sh/be/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/sh/be/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/sh/be/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index > 97942ff01a..72073ecc27 100644 --- > a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2226,16 +2226,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist > b/sysdeps/unix/sysv/linux/sh/be/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/sh/be/librt.abilist +++ > b/sysdeps/unix/sysv/linux/sh/be/librt.abilist @@ -32,6 +32,11 @@ > GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libanl.abilist > b/sysdeps/unix/sysv/linux/sh/le/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/sh/le/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/sh/le/libanl.abilist @@ -2,3 +2,4 @@ > GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index > 617b673620..e07c4657f9 100644 --- > a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2223,16 +2223,83 @@ > GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist > b/sysdeps/unix/sysv/linux/sh/le/librt.abilist index > bb03781dcc..463a88a1df 100644 --- > a/sysdeps/unix/sysv/linux/sh/le/librt.abilist +++ > b/sysdeps/unix/sysv/linux/sh/le/librt.abilist @@ -32,6 +32,11 @@ > GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/sh/time64-compat.h > b/sysdeps/unix/sysv/linux/sh/time64-compat.h new file mode 100644 > index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/sh/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist index > d9a5ed015d..ff719e7605 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist @@ -2,3 +2,4 > @@ GLIBC_2.2.3 gai_cancel F GLIBC_2.2.3 gai_error F > GLIBC_2.2.3 gai_suspend F > GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.34 __gai_suspend_time64 F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index > 3c6559bb4f..7467677c1b 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2363,16 > +2363,83 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F > GLIBC_2.33 stat F > GLIBC_2.33 stat64 F > +GLIBC_2.34 ___adjtimex64 F > +GLIBC_2.34 __adjtime64 F > +GLIBC_2.34 __clock_adjtime64 F > +GLIBC_2.34 __clock_getres64 F > +GLIBC_2.34 __clock_gettime64 F > +GLIBC_2.34 __clock_nanosleep_time64 F > +GLIBC_2.34 __clock_settime64 F > +GLIBC_2.34 __cnd_timedwait64 F > +GLIBC_2.34 __ctime64 F > +GLIBC_2.34 __ctime64_r F > +GLIBC_2.34 __difftime64 F > +GLIBC_2.34 __fstat64_time64 F > +GLIBC_2.34 __fstatat64_time64 F > +GLIBC_2.34 __futimens64 F > +GLIBC_2.34 __futimes64 F > +GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __getitimer64 F > +GLIBC_2.34 __getrusage64 F > +GLIBC_2.34 __gettimeofday64 F > +GLIBC_2.34 __gmtime64 F > +GLIBC_2.34 __gmtime64_r F > GLIBC_2.34 __libc_start_main F > +GLIBC_2.34 __localtime64 F > +GLIBC_2.34 __localtime64_r F > +GLIBC_2.34 __lstat64_time64 F > +GLIBC_2.34 __lutimes64 F > +GLIBC_2.34 __mktime64 F > +GLIBC_2.34 __msgctl64 F > +GLIBC_2.34 __mtx_timedlock64 F > +GLIBC_2.34 __nanosleep64 F > +GLIBC_2.34 __ntp_gettime64 F > +GLIBC_2.34 __ntp_gettimex64 F > +GLIBC_2.34 __ppoll64 F > +GLIBC_2.34 __pselect64 F > GLIBC_2.34 __pthread_cleanup_routine F > +GLIBC_2.34 __pthread_clockjoin_np64 F > +GLIBC_2.34 __pthread_cond_clockwait64 F > +GLIBC_2.34 __pthread_cond_timedwait64 F > GLIBC_2.34 __pthread_key_create F > +GLIBC_2.34 __pthread_mutex_clocklock64 F > GLIBC_2.34 __pthread_mutex_lock F > +GLIBC_2.34 __pthread_mutex_timedlock64 F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_register_cancel F > GLIBC_2.34 __pthread_register_cancel_defer F > +GLIBC_2.34 __pthread_rwlock_clockrdlock64 F > +GLIBC_2.34 __pthread_rwlock_clockwrlock64 F > +GLIBC_2.34 __pthread_rwlock_timedrdlock64 F > +GLIBC_2.34 __pthread_rwlock_timedwrlock64 F > +GLIBC_2.34 __pthread_timedjoin_np64 F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 __recvmmsg64 F > +GLIBC_2.34 __sched_rr_get_interval64 F > +GLIBC_2.34 __select64 F > +GLIBC_2.34 __sem_clockwait64 F > +GLIBC_2.34 __sem_timedwait64 F > +GLIBC_2.34 __semctl64 F > +GLIBC_2.34 __semtimedop64 F > +GLIBC_2.34 __setitimer64 F > +GLIBC_2.34 __settimeofday64 F > +GLIBC_2.34 __shmctl64 F > +GLIBC_2.34 __sigtimedwait64 F > +GLIBC_2.34 __stat64_time64 F > +GLIBC_2.34 __thrd_sleep64 F > +GLIBC_2.34 __time64 F > +GLIBC_2.34 __timegm64 F > +GLIBC_2.34 __timerfd_gettime64 F > +GLIBC_2.34 __timerfd_settime64 F > +GLIBC_2.34 __timespec_get64 F > +GLIBC_2.34 __timespec_getres64 F > +GLIBC_2.34 __utime64 F > +GLIBC_2.34 __utimensat64 F > +GLIBC_2.34 __utimes64 F > +GLIBC_2.34 __wait3_time64 F > +GLIBC_2.34 __wait4_time64 F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist index > 38f0aad791..fb2769e87b 100644 --- > a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist +++ > b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist @@ -34,6 +34,11 > @@ GLIBC_2.3.4 mq_setattr F GLIBC_2.3.4 mq_timedreceive F > GLIBC_2.3.4 mq_timedsend F > GLIBC_2.3.4 mq_unlink F > +GLIBC_2.34 __aio_suspend_time64 F > +GLIBC_2.34 __mq_timedreceive_time64 F > +GLIBC_2.34 __mq_timedsend_time64 F > +GLIBC_2.34 __timer_gettime64 F > +GLIBC_2.34 __timer_settime64 F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.7 __mq_open_2 F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/time64-compat.h > b/sysdeps/unix/sysv/linux/sparc/sparc32/time64-compat.h new file mode > 100644 index 0000000000..700f854597 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/time64-compat.h > @@ -0,0 +1,2 @@ > +/* ABI support 64-bit in non-default mode. */ > +#define TIME64_NON_DEFAULT > diff --git a/sysdeps/unix/sysv/linux/sys/timerfd.h > b/sysdeps/unix/sysv/linux/sys/timerfd.h index 4ad64c2259..790b9d5be6 > 100644 --- a/sysdeps/unix/sysv/linux/sys/timerfd.h > +++ b/sysdeps/unix/sysv/linux/sys/timerfd.h > @@ -47,9 +47,31 @@ extern int timerfd_settime (int __ufd, int __flags, > const struct itimerspec *__utmr, > struct itimerspec *__otmr) __THROW; > =20 > +#ifdef __USE_TIME_BITS64 > +# if defined(__REDIRECT_NTH) > +extern int __REDIRECT_NTH (timerfd_settime, > + (int __ufd, int __flags, > + const struct itimerspec *__restrict > __value, > + struct itimerspec *__restrict __ovalue), > + __timerfd_settime64); > +# else > +# define timerfd_settime __timerfd_settime64 > +# endif > +#endif > + > /* Return the next expiration time of UFD. */ > extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) > __THROW;=20 > +#ifdef __USE_TIME_BITS64 > +# if defined(__REDIRECT_NTH) > +extern int __REDIRECT_NTH (timerfd_gettime, (int __ufd, > + struct itimerspec > *__otmr), > + __timerfd_gettime64); > +# else > +# define timerfd_gettime __timerfd_gettime64 > +# endif > +#endif > + > __END_DECLS > =20 > #endif /* sys/timerfd.h */ > diff --git a/sysdeps/unix/sysv/linux/sys/timex.h > b/sysdeps/unix/sysv/linux/sys/timex.h index eb8d15a806..e17265c607 > 100644 --- a/sysdeps/unix/sysv/linux/sys/timex.h > +++ b/sysdeps/unix/sysv/linux/sys/timex.h > @@ -54,17 +54,34 @@ struct ntptimeval > =20 > __BEGIN_DECLS > =20 > -extern int __adjtimex (struct timex *__ntx) __THROW; > +#ifndef __USE_TIME_BITS64 > extern int adjtimex (struct timex *__ntx) __THROW; > extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW; > =20 > -#ifdef __REDIRECT_NTH > +# ifdef __REDIRECT_NTH > extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), > - ntp_gettimex); > + ntp_gettimex); > +# else > +# define ntp_gettime ntp_gettimex > +# endif > +extern int ntp_adjtime (struct timex *__tntx) __THROW; > #else > -# define ntp_gettime ntp_gettimex > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), > + ___adjtimex64); > +extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), > + __ntp_gettime64); > +extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv), > + __ntp_gettimex64); > +extern int __REDIRECT_NTH (ntp_adjtime, (struct timex *__ntx), > + ___adjtimex64); > +# else > +# define adjtimex ___adjtimex64 > +# define ntp_adjtime ___adjtimex64 > +# define ntp_gettime __ntp_gettime64 > +# define ntp_gettimex __ntp_gettimex64 > +# endif > #endif > -extern int ntp_adjtime (struct timex *__tntx) __THROW; > =20 > __END_DECLS > =20 > diff --git a/sysvipc/sys/msg.h b/sysvipc/sys/msg.h > index 9ddedf5e15..f31a43757d 100644 > --- a/sysvipc/sys/msg.h > +++ b/sysvipc/sys/msg.h > @@ -58,7 +58,17 @@ struct msgbuf > __BEGIN_DECLS > =20 > /* Message queue control operation. */ > +#ifndef __USE_TIME_BITS64 > extern int msgctl (int __msqid, int __cmd, struct msqid_ds *__buf) > __THROW; +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (msgctl, > + (int __msqid, int __cmd, struct msqid_ds > *__buf), > + __msgctl64); > +# else > +# define msgctl __msgctl64 > +# endif > +#endif > =20 > /* Get messages queue. */ > extern int msgget (key_t __key, int __msgflg) __THROW; > diff --git a/sysvipc/sys/sem.h b/sysvipc/sys/sem.h > index 03b65dff21..4eb4c51bbe 100644 > --- a/sysvipc/sys/sem.h > +++ b/sysvipc/sys/sem.h > @@ -48,7 +48,17 @@ struct sembuf > __BEGIN_DECLS > =20 > /* Semaphore control operation. */ > +#ifndef __USE_TIME_BITS64 > extern int semctl (int __semid, int __semnum, int __cmd, ...) > __THROW; +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (semctl, > + (int __semid, int __semnum, int __cmd, > ...), > + __semctl64); > +# else > +# define semctl __semctl64 > +# endif > +#endif > =20 > /* Get semaphore. */ > extern int semget (key_t __key, int __nsems, int __semflg) __THROW; > @@ -58,8 +68,19 @@ extern int semop (int __semid, struct sembuf > *__sops, size_t __nsops) __THROW;=20 > #ifdef __USE_GNU > /* Operate on semaphore with timeout. */ > +# ifndef __USE_TIME_BITS64 > extern int semtimedop (int __semid, struct sembuf *__sops, size_t > __nsops, const struct timespec *__timeout) __THROW; > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (semtimedop, (int __semid, struct sembuf > *__sops, > + size_t __nsops, > + const struct timespec > *__timeout), > + __semtimedop64); > +# else > +# define semtimedop __semtimedop64 > +# endif > +# endif > #endif > =20 > __END_DECLS > diff --git a/sysvipc/sys/shm.h b/sysvipc/sys/shm.h > index 7506ba67bf..b09e0497e6 100644 > --- a/sysvipc/sys/shm.h > +++ b/sysvipc/sys/shm.h > @@ -46,7 +46,17 @@ __BEGIN_DECLS > facility. The definition is found in XPG4.2. */ > =20 > /* Shared memory control operation. */ > +#ifndef __USE_TIME_BITS64 > extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) > __THROW; +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (shmctl, > + (int __shmid, int __cmd, struct shmid_ds > *__buf), > + __shmctl64); > +# else > +# define shmctl __shmctl64 > +# endif > +#endif > =20 > /* Get shared memory segment. */ > extern int shmget (key_t __key, size_t __size, int __shmflg) __THROW; > diff --git a/time/sys/time.h b/time/sys/time.h > index 42f91f186b..d21411c0b4 100644 > --- a/time/sys/time.h > +++ b/time/sys/time.h > @@ -63,10 +63,21 @@ struct timezone > use localtime etc. instead. > This function itself is semi-obsolete; > most callers should use time or clock_gettime instead. */ > +#ifndef __USE_TIME_BITS64 > extern int gettimeofday (struct timeval *__restrict __tv, > void *__restrict __tz) __THROW __nonnull > ((1)); +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (gettimeofday, (struct timeval *__restrict > __tv, > + void *__restrict __tz), > + __gettimeofday64) __nonnull ((1)); > +# else > +# define gettimeofday __gettimeofday64 > +# endif > +#endif > =20 > #ifdef __USE_MISC > +# ifndef __USE_TIME_BITS64 > /* Set the current time of day and timezone information. > This call is restricted to the super-user. > Setting the timezone in this way is obsolete, but we don't yet > @@ -82,6 +93,20 @@ extern int settimeofday (const struct timeval > *__tv, This call is restricted to the super-user. */ > extern int adjtime (const struct timeval *__delta, > struct timeval *__olddelta) __THROW; > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (settimeofday, (const struct timeval *__tv, > + const struct timezone > *__tz), > + __settimeofday64); > + > +extern int __REDIRECT_NTH (adjtime, (const struct timeval *__delta, > + struct timeval *__olddelta), > + __adjtime64); > +# else > +# define settimeofday __settimeofday64 > +# define adjtime __adjtime64 > +# endif > +# endif > #endif > =20 > =20 > @@ -118,6 +143,7 @@ typedef enum __itimer_which __itimer_which_t; > typedef int __itimer_which_t; > #endif > =20 > +#ifndef __USE_TIME_BITS64 > /* Set *VALUE to the current setting of timer WHICH. > Return 0 on success, -1 on errors. */ > extern int getitimer (__itimer_which_t __which, > @@ -136,21 +162,66 @@ extern int setitimer (__itimer_which_t __which, > extern int utimes (const char *__file, const struct timeval __tvp[2]) > __THROW __nonnull ((1)); > =20 > +#else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (getitimer, (__itimer_which_t __which, > + struct itimerval *__value), > + __getitimer64); > + > +extern int __REDIRECT_NTH (setitimer, (__itimer_which_t __which, > + const struct itimerval > *__restrict __new, > + struct itimerval *__restrict > __old), > + __setitimer64); > + > +extern int __REDIRECT_NTH (utimes, (const char *__file, > + const struct timeval __tvp[2]), > + __utimes64) __nonnull ((1)); > +# else > +# define getitimer __getitimer64 > +# define setitimer __setitimer64 > +# define utimes __utimes64 > +# endif > +#endif > + > #ifdef __USE_MISC > +# ifndef __USE_TIME_BITS64 > /* Same as `utimes', but does not follow symbolic links. */ > extern int lutimes (const char *__file, const struct timeval > __tvp[2]) __THROW __nonnull ((1)); > =20 > /* Same as `utimes', but takes an open file descriptor instead of a > name. */ extern int futimes (int __fd, const struct timeval > __tvp[2]) __THROW; +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (lutimes, (const char *__file, > + const struct timeval __tvp[2]), > + __lutimes64) __nonnull ((1)); > + > +extern int __REDIRECT_NTH (futimes, (int __fd, const struct timeval > __tvp[2]), > + __futimes64); > +# else > +# define lutimes __lutimes64 > +# define futimes __futimes64 > +# endif > +# endif > #endif > =20 > #ifdef __USE_GNU > +# ifndef __USE_TIME_BITS64 > /* Change the access time of FILE relative to FD to TVP[0] and the > modification time of FILE to TVP[1]. If TVP is a null pointer, > use the current time instead. Returns 0 on success, -1 on errors. */ > extern int futimesat (int __fd, const char *__file, > const struct timeval __tvp[2]) __THROW; > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (futimesat, (int __fd, const char *__file, > + const struct timeval > __tvp[2]), > + __futimesat64); > +# else > +# define futimesat __futimesat64 > +# endif > +# endif > #endif > =20 > =20 > diff --git a/time/time.h b/time/time.h > index e255db9772..bde870c934 100644 > --- a/time/time.h > +++ b/time/time.h > @@ -71,6 +71,7 @@ __BEGIN_DECLS > The result / CLOCKS_PER_SEC is program time in seconds. */ > extern clock_t clock (void) __THROW; > =20 > +#ifndef __USE_TIME_BITS64 > /* Return the current time and put it in *TIMER if TIMER is not > NULL. */ extern time_t time (time_t *__timer) __THROW; > =20 > @@ -80,7 +81,18 @@ extern double difftime (time_t __time1, time_t > __time0)=20 > /* Return the `time_t' representation of TP and normalize TP. */ > extern time_t mktime (struct tm *__tp) __THROW; > - > +#else > +# ifdef __REDIRECT_NTH > +extern time_t __REDIRECT_NTH (time, (time_t *__timer), __time64); > +extern double __REDIRECT_NTH (difftime, (time_t __time1, time_t > __time0), > + __difftime64) __attribute__ > ((__const__)); +extern time_t __REDIRECT_NTH (mktime, (struct tm > *__tp), __mktime64); +# else > +# define time __time64 > +# define difftime __difftime64 > +# define mktime __mktime64 > +# endif > +#endif > =20 > /* Format TP into S according to FORMAT. > Write no more than MAXSIZE characters and return the number > @@ -114,6 +126,7 @@ extern char *strptime_l (const char *__restrict > __s, #endif > =20 > =20 > +#ifndef __USE_TIME_BITS64 > /* Return the `struct tm' representation of *TIMER > in Universal Coordinated Time (aka Greenwich Mean Time). */ > extern struct tm *gmtime (const time_t *__timer) __THROW; > @@ -122,7 +135,20 @@ extern struct tm *gmtime (const time_t *__timer) > __THROW; of *TIMER in the local timezone. */ > extern struct tm *localtime (const time_t *__timer) __THROW; > =20 > +#else > +# ifdef __REDIRECT_NTH > +extern struct tm*__REDIRECT_NTH (gmtime, (const time_t *__timer), > __gmtime64); +extern struct tm *__REDIRECT_NTH (localtime, (const > time_t *__timer), > + __localtime64); > +# else > +# define gmtime __gmtime64 > +# define localtime __localtime64 > +# endif > +#endif > + > + > #if defined __USE_POSIX || __GLIBC_USE (ISOC2X) > +# ifndef __USE_TIME_BITS64 > /* Return the `struct tm' representation of *TIMER in UTC, > using *TP to store the result. */ > extern struct tm *gmtime_r (const time_t *__restrict __timer, > @@ -132,6 +158,20 @@ extern struct tm *gmtime_r (const time_t > *__restrict __timer, using *TP to store the result. */ > extern struct tm *localtime_r (const time_t *__restrict __timer, > struct tm *__restrict __tp) __THROW; > +# else > +# ifdef __REDIRECT_NTH > +extern struct tm*__REDIRECT_NTH (gmtime_r, (const time_t *__restrict > __timer, > + struct tm *__restrict > __tp), > + __gmtime64_r); > + > +extern struct tm*__REDIRECT_NTH (localtime_r, (const time_t > *__restrict __t, > + struct tm *__restrict > __tp), > + __localtime64_r); > +# else > +# define gmtime_r __gmtime64_r > +# define localtime_r __localtime_r > +# endif > +# endif > #endif /* POSIX || C2X */ > =20 > /* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n" > @@ -139,7 +179,15 @@ extern struct tm *localtime_r (const time_t > *__restrict __timer, extern char *asctime (const struct tm *__tp) > __THROW;=20 > /* Equivalent to `asctime (localtime (timer))'. */ > +#ifndef __USE_TIME_BITS64 > extern char *ctime (const time_t *__timer) __THROW; > +#else > +# ifdef __REDIRECT_NTH > +extern char *__REDIRECT_NTH (ctime, (const time_t *__timer), > __ctime64); +# else > +# define ctime __ctime64 > +# endif > +#endif > =20 > #ifdef __USE_POSIX > /* Reentrant versions of the above functions. */ > @@ -150,8 +198,18 @@ extern char *asctime_r (const struct tm > *__restrict __tp, char *__restrict __buf) __THROW; > =20 > /* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */ > +#ifndef __USE_TIME_BITS64 > extern char *ctime_r (const time_t *__restrict __timer, > char *__restrict __buf) __THROW; > +#else > +# ifdef __REDIRECT_NTH > +extern char *__REDIRECT_NTH (ctime_r, (const time_t *__restrict > __timer, > + char *__restrict __buf), > __ctime64_r); +# else > +# define ctime_r __ctime64_r > +# endif > +#endif > + > #endif /* POSIX */ > =20 > =20 > @@ -186,11 +244,19 @@ extern long int timezone; > /* Miscellaneous functions many Unices inherited from the public > domain localtime package. These are included only for compatibility. > */=20 > +#ifndef __USE_TIME_BITS64 > /* Like `mktime', but for TP represents Universal Time, not local > time. */ extern time_t timegm (struct tm *__tp) __THROW; > - > /* Another name for `mktime'. */ > extern time_t timelocal (struct tm *__tp) __THROW; > +#else > +# ifdef __REDIRECT_NTH > +extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); > +extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), > __mktime64); +# else > +# define timegm __timegm64 > +# endif > +#endif > =20 > /* Return the number of days in YEAR. */ > extern int dysize (int __year) __THROW __attribute__ ((__const__)); > @@ -198,6 +264,7 @@ extern int dysize (int __year) __THROW > __attribute__ ((__const__));=20 > =20 > #ifdef __USE_POSIX199309 > +# ifndef __USE_TIME_BITS64 > /* Pause execution for a number of nanoseconds. > =20 > This function is a cancellation point and therefore not marked > with @@ -205,7 +272,6 @@ extern int dysize (int __year) __THROW > __attribute__ ((__const__)); extern int nanosleep (const struct > timespec *__requested_time, struct timespec *__remaining); > =20 > - > /* Get resolution of clock CLOCK_ID. */ > extern int clock_getres (clockid_t __clock_id, struct timespec > *__res) __THROW;=20 > @@ -215,15 +281,46 @@ extern int clock_gettime (clockid_t __clock_id, > struct timespec *__tp) __THROW; /* Set clock CLOCK_ID to value TP. */ > extern int clock_settime (clockid_t __clock_id, const struct > timespec *__tp) __THROW; > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (nanosleep, (const struct timespec > *__requested_time, > + struct timespec *__remaining), > + __nanosleep64); > +extern int __REDIRECT_NTH (clock_getres, (clockid_t __clock_id, > + struct timespec *__res), > + __clock_getres64); > +extern int __REDIRECT_NTH (clock_gettime, (clockid_t __clock_id, > struct > + timespec *__tp), > __clock_gettime64); +extern int __REDIRECT_NTH (clock_settime, > (clockid_t __clock_id, const struct > + timespec *__tp), > __clock_settime64); +# else > +# define nanosleep __nanosleep64 > +# define clock_getres __clock_getres64 > +# define clock_gettime __clock_gettime64 > +# define clock_settime __clock_settime64 > +# endif > +# endif > + > =20 > # ifdef __USE_XOPEN2K > /* High-resolution sleep with the specified clock. > =20 > This function is a cancellation point and therefore not marked > with __THROW. */ > +# ifndef __USE_TIME_BITS64 > extern int clock_nanosleep (clockid_t __clock_id, int __flags, > const struct timespec *__req, > struct timespec *__rem); > +# else > +# ifdef __REDIRECT > +extern int __REDIRECT (clock_nanosleep, (clockid_t __clock_id, int > __flags, > + const struct timespec > *__req, > + struct timespec *__rem), > + __clock_nanosleep_time64); > +# else > +# define clock_nanosleep __clock_nanosleep_time64 > +# endif > +# endif > =20 > /* Return clock ID for CPU-time clock. */ > extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) > __THROW; @@ -239,6 +336,7 @@ extern int timer_create (clockid_t > __clock_id, extern int timer_delete (timer_t __timerid) __THROW; > =20 > /* Set timer TIMERID to VALUE, returning old value in OVALUE. */ > +# ifndef __USE_TIME_BITS64 > extern int timer_settime (timer_t __timerid, int __flags, > const struct itimerspec *__restrict > __value, struct itimerspec *__restrict __ovalue) __THROW; > @@ -246,6 +344,21 @@ extern int timer_settime (timer_t __timerid, int > __flags, /* Get current value of timer TIMERID and store it in VALUE. > */ extern int timer_gettime (timer_t __timerid, struct itimerspec > *__value) __THROW; > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (timer_settime, (timer_t __timerid, int > __flags, > + const struct itimerspec *__restrict __value, > + struct itimerspec *__restrict __ovalue), > + __timer_settime64); > + > +extern int __REDIRECT_NTH (timer_gettime, (timer_t __timerid, > + struct itimerspec > *__value), > + __timer_gettime64); > +# else > +# define timer_settime __timer_settime64 > +# define timer_gettime __timer_gettime64 > +# endif > +# endif > =20 > /* Get expiration overrun for timer TIMERID. */ > extern int timer_getoverrun (timer_t __timerid) __THROW; > @@ -253,16 +366,35 @@ extern int timer_getoverrun (timer_t __timerid) > __THROW;=20 > =20 > #ifdef __USE_ISOC11 > +# ifndef __USE_TIME_BITS64 > /* Set TS to calendar time based in time base BASE. */ > extern int timespec_get (struct timespec *__ts, int __base) > __THROW __nonnull ((1)); > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (timespec_get, (struct timespec *__ts, int > __base), > + __timespec_get64) __nonnull ((1)); > +# else > +# define timespec_get __timespec_get64 > +# endif > +# endif > #endif > =20 > =20 > #if __GLIBC_USE (ISOC2X) > +# ifndef __USE_TIME_BITS64 > /* Set TS to resolution of time base BASE. */ > extern int timespec_getres (struct timespec *__ts, int __base) > __THROW; > +# else > +# ifdef __REDIRECT_NTH > +extern int __REDIRECT_NTH (timespec_getres, (struct timespec *__ts, > + int __base), > + __timespec_getres64); > +# else > +# define timespec_getres __timespec_getres64 > +# endif > +# endif > #endif > =20 > =20 Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de --Sig_/5nJNpJkhGOZMMXCcxknKHjw Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEgAyFJ+N6uu6+XupJAR8vZIA0zr0FAmCk188ACgkQAR8vZIA0 zr1f0AgA3p/c5LWNYSGGvoI2xZspj6f1A+IdVxxDnLhSurVjusvsQGvP/fkR3dXR PdY21h2L2mTb67A7ZWW6CatEzcrXLJ4+owjhBeTIjjse8pp+eePsHQeMwi0636lE OKd5isuH4+Opw2T81z1InmREvAHuSRwblxAd+s3ZmELpcQJXJUZBNiMBtQa7hhL4 VwUDAp2OR3vvJjx/fioQYVsyJc3GpVnrWH1vjOUCVwjDHYb/O5XGWY7nLj514C4W 8HDORyo6Pl+aag7WS9P57L4h64e3nE9NOj0kftS9AfrYwU2pt/BNhI9BCqTUl/GU RpISUjASutEuUROwSh6N2+JM+T0ckg== =YuQK -----END PGP SIGNATURE----- --Sig_/5nJNpJkhGOZMMXCcxknKHjw--