From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id BA1041F461 for ; Fri, 30 Aug 2019 17:41:09 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:references:subject:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=wq5k1m0gfeJC24LV 3Jvl21s31ISXa0Nqk9+HPEKYZhAaIvhm1RGaJ8CRxX+9YEByzzBFc4o31ZbnvM31 IiBVZWx0tNjVSli2bD4EaP0k/NPwq2067sen7qy+Wxol1mk5Oli7NTfIiGlAtZmg BtCh/S6ENxH9pY1S/OtcC1FZQA0= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:references:subject:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=hva8MxAZza1/3i3Ots3vjO +cZI4=; b=GC5h5YSSRoIa/y04hi2Xg8fJAevWSa3YWxdEA4Kf/xRSY1UEr//0zn erC41FuZIjqVBpBx82yYKum8XzsOV7xgXF7AAR9JuK7V17aS9Nrr+fljny/ufaC3 /flE2sVJVCTYAyPlDS79toJdfHmwXG70/scP8787jpKtdrwtoPIf0= Received: (qmail 119641 invoked by alias); 30 Aug 2019 17:41:06 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 119626 invoked by uid 89); 30 Aug 2019 17:41:06 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mail-qk1-f195.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:references:openpgp:autocrypt:subject:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=bbodZcRNzWccPzC4VjQ8qdQxfxGkwlXDHKM6SSnUCLM=; b=Dd7w5RV8mnOXb9iM15oIC3M8vLCpdEyfvLGiVBMP4fM5xRvzqpw2Ku8rwSd97aPgLp j52gZz+ADEyfCurKYNsdKLZdiLj9Ygpz4EgEZwcJ/4+ihUSbXXr3Jd9bTRCusd8iZ3uL gjEUtED+jDZs3eh7/d8Fxe+jfgdMGMRCYOvGfisjHtBEEoQ0ylA7FFFgvoZ1AkSRlRuE jCT9dZUtKFTWwJ4N0D1nNGz7ChVI7MMzcXnXjAQ0Qx43LjJzU/OCEQVVeY1pmG0VxkZb h9snx6mBJN31iyhKuP/cp/n/veL9Utg9nSuhVlsjnPjGaJ4R837RobPkfD3O97g3hnxQ xQwA== From: Adhemerval Zanella To: Zack Weinberg , libc-alpha@sourceware.org Cc: Joseph Myers , Florian Weimer , Lukasz Majewski , Alistair Francis , Stepan Golosunov , Arnd Bergmann , Samuel Thibault References: <20190828153236.18229-1-zackw@panix.com> <20190828153236.18229-3-zackw@panix.com> Openpgp: preference=signencrypt Subject: Re: [PATCH v2 02/10] Finish move of clock_* functions to libc. Message-ID: <0d4282aa-86fb-6bbc-301c-129b6039f30e@linaro.org> Date: Fri, 30 Aug 2019 14:40:52 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190828153236.18229-3-zackw@panix.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit On 28/08/2019 12:32, Zack Weinberg wrote: > In glibc 2.17, the functions clock_getcpuclockid, clock_getres, > clock_gettime, clock_nanosleep, and clock_settime were moved from > librt.so to libc.so, leaving compatibility stubs behind. Now that the > dynamic linker no longer insists on finding versioned symbols in the > same library that originally defined them, we do not need the stubs > anymore, and this means we don't need GLIBC_PRIVATE __-prefix aliases > for most of the functions anymore either. (clock_gettime still needs > one.) For ports added before 2.17, libc.so needs to provide two > symbol versions for each, the default at GLIBC_2.17 plus a compat > version matching what librt had. > > While I'm at it, move the clock_*.c files and their tests from rt/ to > time/. > > * rt/clock_getcpuclockid.c: Move to time/clock_getcpuclockid.c. > * rt/clock_getres.c: Move to time/clock_getres.c. > * rt/clock_gettime.c: Move to time/clock_gettime.c. > * rt/clock_nanosleep.c: Move to time/clock_nanosleep.c. > * rt/clock_settime.c: Move to time/clock_settime.c. > * rt/tst-clock.c: Move to time/tst-clock.c. > * rt/tst-clock2.c: Move to time/tst-clock2.c. > * rt/tst-clock_nanosleep.c: Move to time/tst-clock_nanosleep.c. > * rt/tst-cpuclock1.c: Move to time/tst-cpuclock1.c. > * rt/clock-compat.c: Delete file. > > * time/clock_getcpuclockid.c > * time/clock_getres.c > * time/clock_gettime.c > * time/clock_nanosleep.c > * time/clock_settime.c > * sysdeps/posix/clock_getres.c > * sysdeps/unix/clock_gettime.c > * sysdeps/unix/clock_nanosleep.c > * sysdeps/unix/clock_settime.c > * sysdeps/unix/sysv/linux/clock_getcpuclockid.c > * sysdeps/unix/sysv/linux/clock_getres.c > * sysdeps/unix/sysv/linux/clock_gettime.c > * sysdeps/unix/sysv/linux/clock_nanosleep.c > * sysdeps/unix/sysv/linux/clock_settime.c: Define the function > defined by this file with default symbol version GLIBC_2_17, > and optionally a compatibility alias at symbol version GLIBC_2_2. > * include/time.h: Remove internal prototypes for clock_getres, > clock_nanosleep, and clock_getcpuclockid. > > * sysdeps/unix/sysv/linux/clock_gettime.c: Prune includes. > Remove unused function realtime_gettime. > > * rt/Makefile (clock-routines, routines): Remove variable. > (librt-routines): Remove clock-compat. > (tests): Remove tst-clock, tst-clock2, tst-clock_nanosleep, > and tst-cpuclock1. > * time/Makefile (routines): Add clock_getres, clock_gettime, > clock_settime, clock_getcpuclockid, and clock_nanosleep. > (tests): Add tst-clock, tst-clock2, tst-clock_nanosleep, > and tst-cpuclock1. > > * rt/Versions (libc): Remove entire stanza. > (librt GLIBC_2.2): Remove all clock_* functions. > * time/Versions (libc GLIBC_2.2, libc GLIBC_2.17): > Add clock_getres, clock_gettime, clock_settime, > clock_getcpuclockid, and clock_nanosleep. > (libc GLIBC_PRIVATE): Add __clock_gettime. > > * sysdeps/mach/hurd/i386/librt.abilist > * sysdeps/unix/sysv/linux/alpha/librt.abilist > * sysdeps/unix/sysv/linux/arm/librt.abilist > * sysdeps/unix/sysv/linux/hppa/librt.abilist > * sysdeps/unix/sysv/linux/i386/librt.abilist > * sysdeps/unix/sysv/linux/ia64/librt.abilist > * sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > * sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > * sysdeps/unix/sysv/linux/microblaze/librt.abilist > * sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > * sysdeps/unix/sysv/linux/mips/mips64/librt.abilist > * sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > * sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > * sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > * sysdeps/unix/sysv/linux/sh/librt.abilist > * sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > * sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > * sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > * sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist: > Remove entries for clock_getres, clock_gettime, clock_settime, > clock_getcpuclockid, and clock_nanosleep. > > * sysdeps/mach/hurd/i386/libc.abilist > * sysdeps/unix/sysv/linux/alpha/libc.abilist > * sysdeps/unix/sysv/linux/arm/libc.abilist > * sysdeps/unix/sysv/linux/hppa/libc.abilist > * sysdeps/unix/sysv/linux/i386/libc.abilist > * sysdeps/unix/sysv/linux/ia64/libc.abilist > * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > * sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > * sysdeps/unix/sysv/linux/sh/libc.abilist > * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: > Add another set of entries for clock_getres, clock_gettime, > clock_settime, clock_getcpuclockid, and clock_nanosleep at > whatever version GLIBC_2.2 maps to. LGTM, thanks. Reviewed-by: Adhemerval Zanella > --- > include/time.h | 4 +- > rt/Makefile | 15 ++--- > rt/Versions | 16 ----- > rt/clock-compat.c | 63 ------------------- > sysdeps/mach/hurd/i386/libc.abilist | 5 ++ > sysdeps/mach/hurd/i386/librt.abilist | 5 -- > sysdeps/posix/clock_getres.c | 11 +++- > sysdeps/unix/clock_gettime.c | 26 +++----- > sysdeps/unix/clock_nanosleep.c | 10 ++- > sysdeps/unix/clock_settime.c | 13 +++- > sysdeps/unix/sysv/linux/alpha/libc.abilist | 5 ++ > sysdeps/unix/sysv/linux/alpha/librt.abilist | 5 -- > sysdeps/unix/sysv/linux/arm/libc.abilist | 5 ++ > sysdeps/unix/sysv/linux/arm/librt.abilist | 5 -- > sysdeps/unix/sysv/linux/clock_getcpuclockid.c | 10 ++- > sysdeps/unix/sysv/linux/clock_getres.c | 11 +++- > sysdeps/unix/sysv/linux/clock_gettime.c | 11 +++- > sysdeps/unix/sysv/linux/clock_nanosleep.c | 10 ++- > sysdeps/unix/sysv/linux/clock_settime.c | 11 +++- > sysdeps/unix/sysv/linux/hppa/libc.abilist | 5 ++ > sysdeps/unix/sysv/linux/hppa/librt.abilist | 5 -- > sysdeps/unix/sysv/linux/i386/libc.abilist | 5 ++ > sysdeps/unix/sysv/linux/i386/librt.abilist | 5 -- > sysdeps/unix/sysv/linux/ia64/libc.abilist | 5 ++ > sysdeps/unix/sysv/linux/ia64/librt.abilist | 5 -- > .../sysv/linux/m68k/coldfire/libc.abilist | 5 ++ > .../sysv/linux/m68k/coldfire/librt.abilist | 5 -- > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 5 ++ > .../unix/sysv/linux/m68k/m680x0/librt.abilist | 5 -- > .../unix/sysv/linux/microblaze/librt.abilist | 5 -- > .../sysv/linux/mips/mips32/fpu/libc.abilist | 5 ++ > .../unix/sysv/linux/mips/mips32/librt.abilist | 5 -- > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 5 ++ > .../unix/sysv/linux/mips/mips64/librt.abilist | 5 -- > .../sysv/linux/mips/mips64/n32/libc.abilist | 5 ++ > .../sysv/linux/mips/mips64/n64/libc.abilist | 5 ++ > .../linux/powerpc/powerpc32/fpu/libc.abilist | 5 ++ > .../linux/powerpc/powerpc32/librt.abilist | 5 -- > .../powerpc/powerpc32/nofpu/libc.abilist | 5 ++ > .../linux/powerpc/powerpc64/be/libc.abilist | 5 ++ > .../linux/powerpc/powerpc64/be/librt.abilist | 5 -- > .../unix/sysv/linux/s390/s390-32/libc.abilist | 5 ++ > .../sysv/linux/s390/s390-32/librt.abilist | 5 -- > .../unix/sysv/linux/s390/s390-64/libc.abilist | 5 ++ > .../sysv/linux/s390/s390-64/librt.abilist | 5 -- > sysdeps/unix/sysv/linux/sh/libc.abilist | 5 ++ > sysdeps/unix/sysv/linux/sh/librt.abilist | 5 -- > .../sysv/linux/sparc/sparc32/libc.abilist | 5 ++ > .../sysv/linux/sparc/sparc32/librt.abilist | 5 -- > .../sysv/linux/sparc/sparc64/libc.abilist | 5 ++ > .../sysv/linux/sparc/sparc64/librt.abilist | 5 -- > .../unix/sysv/linux/x86_64/64/libc.abilist | 5 ++ > .../unix/sysv/linux/x86_64/64/librt.abilist | 5 -- > .../unix/sysv/linux/x86_64/x32/libc.abilist | 5 ++ > .../unix/sysv/linux/x86_64/x32/librt.abilist | 5 -- > time/Makefile | 8 ++- > time/Versions | 13 ++++ > {rt => time}/clock_getcpuclockid.c | 9 ++- > {rt => time}/clock_getres.c | 11 +++- > {rt => time}/clock_gettime.c | 11 +++- > {rt => time}/clock_nanosleep.c | 11 +++- > {rt => time}/clock_settime.c | 12 +++- > {rt => time}/tst-clock.c | 0 > {rt => time}/tst-clock2.c | 0 > {rt => time}/tst-clock_nanosleep.c | 0 > {rt => time}/tst-cpuclock1.c | 0 > 66 files changed, 268 insertions(+), 228 deletions(-) > delete mode 100644 rt/clock-compat.c > rename {rt => time}/clock_getcpuclockid.c (75%) > rename {rt => time}/clock_getres.c (73%) > rename {rt => time}/clock_gettime.c (74%) > rename {rt => time}/clock_nanosleep.c (76%) > rename {rt => time}/clock_settime.c (71%) > rename {rt => time}/tst-clock.c (100%) > rename {rt => time}/tst-clock2.c (100%) > rename {rt => time}/tst-clock_nanosleep.c (100%) > rename {rt => time}/tst-cpuclock1.c (100%) > > diff --git a/include/time.h b/include/time.h > index ac3163c2a5..dcf91855ad 100644 > --- a/include/time.h > +++ b/include/time.h > @@ -18,12 +18,10 @@ libc_hidden_proto (localtime) > libc_hidden_proto (strftime) > libc_hidden_proto (strptime) > > -extern __typeof (clock_getres) __clock_getres; > extern __typeof (clock_gettime) __clock_gettime; > libc_hidden_proto (__clock_gettime) > extern __typeof (clock_settime) __clock_settime; > -extern __typeof (clock_nanosleep) __clock_nanosleep; > -extern __typeof (clock_getcpuclockid) __clock_getcpuclockid; > +libc_hidden_proto (__clock_settime) > > /* Now define the internal interfaces. */ > struct tm; Ok. > diff --git a/rt/Makefile b/rt/Makefile > index 9ea8394565..e6fbc32438 100644 > --- a/rt/Makefile > +++ b/rt/Makefile > @@ -28,9 +28,6 @@ aio-routines := aio_cancel aio_error aio_fsync aio_misc aio_read \ > aio_read64 aio_return aio_suspend aio_write \ > aio_write64 lio_listio lio_listio64 aio_sigqueue \ > aio_notify > -clock-routines := clock_getcpuclockid \ > - clock_getres clock_gettime clock_settime \ > - clock_nanosleep > timer-routines := timer_create timer_delete timer_getoverr \ > timer_gettime timer_settime > shm-routines := shm_open shm_unlink Ok. > @@ -38,22 +35,18 @@ mq-routines := mq_open mq_close mq_unlink mq_getattr mq_setattr \ > mq_notify mq_send mq_receive mq_timedsend \ > mq_timedreceive > > -routines = $(clock-routines) > - > librt-routines = $(aio-routines) \ > $(timer-routines) \ > - $(shm-routines) $(mq-routines) \ > - clock-compat > + $(shm-routines) $(mq-routines) > > -tests := tst-shm tst-clock tst-clock_nanosleep tst-timer tst-timer2 \ > +tests := tst-shm tst-timer tst-timer2 \ > tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \ > tst-aio7 tst-aio8 tst-aio9 tst-aio10 \ > tst-mqueue1 tst-mqueue2 tst-mqueue3 tst-mqueue4 \ > tst-mqueue5 tst-mqueue6 tst-mqueue7 tst-mqueue8 tst-mqueue9 \ > tst-timer3 tst-timer4 tst-timer5 \ > - tst-cpuclock1 tst-cpuclock2 \ > - tst-cputimer1 tst-cputimer2 tst-cputimer3 \ > - tst-clock2 tst-shm-cancel > + tst-cpuclock2 tst-cputimer1 tst-cputimer2 tst-cputimer3 \ > + tst-shm-cancel > > extra-libs := librt > extra-libs-others := $(extra-libs) Ok. > diff --git a/rt/Versions b/rt/Versions > index 91e3fd2a20..84d1345420 100644 > --- a/rt/Versions > +++ b/rt/Versions > @@ -1,15 +1,3 @@ > -libc { > - GLIBC_2.17 { > - # c* > - clock_getres; clock_gettime; clock_settime; clock_getcpuclockid; > - clock_nanosleep; > - } > - GLIBC_PRIVATE { > - __clock_getres; __clock_gettime; __clock_settime; __clock_getcpuclockid; > - __clock_nanosleep; > - } > -} > - > librt { > GLIBC_2.1 { > # AIO functions. > @@ -18,10 +6,6 @@ librt { > aio_suspend64; aio_write; aio_write64; lio_listio; lio_listio64; > } > GLIBC_2.2 { > - # These have moved to libc and are still here only for compatibility. > - clock_getres; clock_gettime; clock_settime; clock_getcpuclockid; > - clock_nanosleep; > - > # s* > shm_open; shm_unlink; > Ok. > diff --git a/rt/clock-compat.c b/rt/clock-compat.c > deleted file mode 100644 > index d8ced3cdc1..0000000000 > --- a/rt/clock-compat.c > +++ /dev/null > @@ -1,63 +0,0 @@ > -/* ABI compatibility redirects for clock_* symbols in librt. > - Copyright (C) 2012-2019 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 > - . */ > - > -#include > - > -/* The clock_* symbols were originally defined in librt and so > - are part of its ABI. As of 2.17, they have moved to libc. > - So we supply definitions for librt that just redirect to > - their libc counterparts. */ > - > -#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_17) > - > -#include > - > -#if HAVE_IFUNC > -# undef INIT_ARCH > -# define INIT_ARCH() > -# define COMPAT_REDIRECT(name, proto, arglist) libc_ifunc (name, &__##name) \ > - compat_symbol (librt, name, name, GLIBC_2_2); > -#else > -# define COMPAT_REDIRECT(name, proto, arglist) \ > - int \ > - name proto \ > - { \ > - return __##name arglist; \ > - } \ > - compat_symbol (librt, name, name, GLIBC_2_2); > -#endif > - > -COMPAT_REDIRECT (clock_getres, > - (clockid_t clock_id, struct timespec *res), > - (clock_id, res)) > -COMPAT_REDIRECT (clock_gettime, > - (clockid_t clock_id, struct timespec *tp), > - (clock_id, tp)) > -COMPAT_REDIRECT (clock_settime, > - (clockid_t clock_id, const struct timespec *tp), > - (clock_id, tp)) > -COMPAT_REDIRECT (clock_getcpuclockid, > - (pid_t pid, clockid_t *clock_id), > - (pid, clock_id)) > -COMPAT_REDIRECT (clock_nanosleep, > - (clockid_t clock_id, int flags, > - const struct timespec *req, > - struct timespec *rem), > - (clock_id, flags, req, rem)) > - > -#endif Ok. > diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist > index 1fc7ab2433..7c2cb2b05a 100644 > --- a/sysdeps/mach/hurd/i386/libc.abilist > +++ b/sysdeps/mach/hurd/i386/libc.abilist > @@ -711,6 +711,11 @@ GLIBC_2.2.6 clntudp_bufcreate F > GLIBC_2.2.6 clntudp_create F > GLIBC_2.2.6 clntunix_create F > GLIBC_2.2.6 clock F > +GLIBC_2.2.6 clock_getcpuclockid F > +GLIBC_2.2.6 clock_getres F > +GLIBC_2.2.6 clock_gettime F > +GLIBC_2.2.6 clock_nanosleep F > +GLIBC_2.2.6 clock_settime F > GLIBC_2.2.6 close F > GLIBC_2.2.6 closedir F > GLIBC_2.2.6 closelog F Ok. > diff --git a/sysdeps/mach/hurd/i386/librt.abilist b/sysdeps/mach/hurd/i386/librt.abilist > index d5fe32b3a9..3726e41f06 100644 > --- a/sysdeps/mach/hurd/i386/librt.abilist > +++ b/sysdeps/mach/hurd/i386/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.2.6 aio_suspend F > GLIBC_2.2.6 aio_suspend64 F > GLIBC_2.2.6 aio_write F > GLIBC_2.2.6 aio_write64 F > -GLIBC_2.2.6 clock_getcpuclockid F > -GLIBC_2.2.6 clock_getres F > -GLIBC_2.2.6 clock_gettime F > -GLIBC_2.2.6 clock_nanosleep F > -GLIBC_2.2.6 clock_settime F > GLIBC_2.2.6 lio_listio F > GLIBC_2.2.6 lio_listio64 F > GLIBC_2.2.6 shm_open F Ok. > diff --git a/sysdeps/posix/clock_getres.c b/sysdeps/posix/clock_getres.c > index 01024a3f55..e529cadb1f 100644 > --- a/sysdeps/posix/clock_getres.c > +++ b/sysdeps/posix/clock_getres.c > @@ -22,7 +22,7 @@ > #include > #include > #include > - > +#include > > static inline int > realtime_getres (struct timespec *res) > @@ -62,4 +62,11 @@ __clock_getres (clockid_t clock_id, struct timespec *res) > > return retval; > } > -weak_alias (__clock_getres, clock_getres) > + > +versioned_symbol (libc, __clock_getres, clock_getres, GLIBC_2_17); > +/* clock_getres moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_getres, __clock_getres_2); > +compat_symbol (libc, __clock_getres_2, clock_getres, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/clock_gettime.c b/sysdeps/unix/clock_gettime.c > index 10a6c96d9d..2a82fc1066 100644 > --- a/sysdeps/unix/clock_gettime.c > +++ b/sysdeps/unix/clock_gettime.c > @@ -17,24 +17,9 @@ > . */ > > #include > -#include > #include > #include > -#include > -#include > - > - > -static inline int > -realtime_gettime (struct timespec *tp) > -{ > - struct timeval tv; > - int retval = __gettimeofday (&tv, NULL); > - if (retval == 0) > - /* Convert into `timespec'. */ > - TIMEVAL_TO_TIMESPEC (&tv, tp); > - return retval; > -} > - > +#include > > /* Get current value of CLOCK and store it in TP. */ > int > @@ -60,5 +45,12 @@ __clock_gettime (clockid_t clock_id, struct timespec *tp) > > return retval; > } > -weak_alias (__clock_gettime, clock_gettime) > libc_hidden_def (__clock_gettime) > + > +versioned_symbol (libc, __clock_gettime, clock_gettime, GLIBC_2_17); > +/* clock_gettime moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_gettime, __clock_gettime_2); > +compat_symbol (libc, __clock_gettime_2, clock_gettime, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/clock_nanosleep.c b/sysdeps/unix/clock_nanosleep.c > index b27608570c..6a477520d1 100644 > --- a/sysdeps/unix/clock_nanosleep.c > +++ b/sysdeps/unix/clock_nanosleep.c > @@ -20,6 +20,7 @@ > #include > #include > #include > +#include > > /* This implementation assumes that these is only a `nanosleep' system > call. So we have to remap all other activities. */ > @@ -76,4 +77,11 @@ __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, > > return __nanosleep (req, rem), 0 ? errno : 0; > } > -weak_alias (__clock_nanosleep, clock_nanosleep) > + > +versioned_symbol (libc, __clock_nanosleep, clock_nanosleep, GLIBC_2_17); > +/* clock_nanosleep moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_nanosleep, __clock_nanosleep_2); > +compat_symbol (libc, __clock_nanosleep_2, clock_nanosleep, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/clock_settime.c b/sysdeps/unix/clock_settime.c > index 109a1ad872..5b398491ab 100644 > --- a/sysdeps/unix/clock_settime.c > +++ b/sysdeps/unix/clock_settime.c > @@ -18,8 +18,7 @@ > #include > #include > #include > -#include > - > +#include > > /* Set CLOCK to value TP. */ > int > @@ -51,4 +50,12 @@ __clock_settime (clockid_t clock_id, const struct timespec *tp) > > return retval; > } > -weak_alias (__clock_settime, clock_settime) > +libc_hidden_def (__clock_settime) > + > +versioned_symbol (libc, __clock_settime, clock_settime, GLIBC_2_17); > +/* clock_settime moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_settime, __clock_settime_2); > +compat_symbol (libc, __clock_settime_2, clock_settime, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index fe85a35620..e7f2174ac2 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -1863,6 +1863,11 @@ GLIBC_2.2 __xpg_sigpause F > GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x48 > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist > index d7a049cf60..71f86e03ce 100644 > --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/arm/libc.abilist b/sysdeps/unix/sysv/linux/arm/libc.abilist > index bc3df8dcea..9371927927 100644 > --- a/sysdeps/unix/sysv/linux/arm/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/libc.abilist > @@ -766,6 +766,11 @@ GLIBC_2.4 clntudp_bufcreate F > GLIBC_2.4 clntudp_create F > GLIBC_2.4 clntunix_create F > GLIBC_2.4 clock F > +GLIBC_2.4 clock_getcpuclockid F > +GLIBC_2.4 clock_getres F > +GLIBC_2.4 clock_gettime F > +GLIBC_2.4 clock_nanosleep F > +GLIBC_2.4 clock_settime F > GLIBC_2.4 clone F > GLIBC_2.4 close F > GLIBC_2.4 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/arm/librt.abilist b/sysdeps/unix/sysv/linux/arm/librt.abilist > index cfbbd27557..3c0647b251 100644 > --- a/sysdeps/unix/sysv/linux/arm/librt.abilist > +++ b/sysdeps/unix/sysv/linux/arm/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.4 aio_suspend F > GLIBC_2.4 aio_suspend64 F > GLIBC_2.4 aio_write F > GLIBC_2.4 aio_write64 F > -GLIBC_2.4 clock_getcpuclockid F > -GLIBC_2.4 clock_getres F > -GLIBC_2.4 clock_gettime F > -GLIBC_2.4 clock_nanosleep F > -GLIBC_2.4 clock_settime F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.4 mq_close F Ok. > diff --git a/sysdeps/unix/sysv/linux/clock_getcpuclockid.c b/sysdeps/unix/sysv/linux/clock_getcpuclockid.c > index f4a652966f..f2d8b916cb 100644 > --- a/sysdeps/unix/sysv/linux/clock_getcpuclockid.c > +++ b/sysdeps/unix/sysv/linux/clock_getcpuclockid.c > @@ -20,6 +20,7 @@ > #include > #include > #include "kernel-posix-cpu-timers.h" > +#include > > int > __clock_getcpuclockid (pid_t pid, clockid_t *clock_id) > @@ -45,4 +46,11 @@ __clock_getcpuclockid (pid_t pid, clockid_t *clock_id) > else > return INTERNAL_SYSCALL_ERRNO (r, err); > } > -weak_alias (__clock_getcpuclockid, clock_getcpuclockid) > + > +versioned_symbol (libc, __clock_getcpuclockid, clock_getcpuclockid, GLIBC_2_17); > +/* clock_getcpuclockid moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_getcpuclockid, __clock_getcpuclockid_2); > +compat_symbol (libc, __clock_getcpuclockid_2, clock_getcpuclockid, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/sysv/linux/clock_getres.c b/sysdeps/unix/sysv/linux/clock_getres.c > index 24b2299938..18a7ce53c0 100644 > --- a/sysdeps/unix/sysv/linux/clock_getres.c > +++ b/sysdeps/unix/sysv/linux/clock_getres.c > @@ -26,10 +26,19 @@ > #endif > #include > > +#include > + > /* Get resolution of clock. */ > int > __clock_getres (clockid_t clock_id, struct timespec *res) > { > return INLINE_VSYSCALL (clock_getres, 2, clock_id, res); > } > -weak_alias (__clock_getres, clock_getres) > + > +versioned_symbol (libc, __clock_getres, clock_getres, GLIBC_2_17); > +/* clock_getres moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_getres, __clock_getres_2); > +compat_symbol (libc, __clock_getres_2, clock_getres, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/sysv/linux/clock_gettime.c b/sysdeps/unix/sysv/linux/clock_gettime.c > index 5fc47fb7dc..7ad1c91be6 100644 > --- a/sysdeps/unix/sysv/linux/clock_gettime.c > +++ b/sysdeps/unix/sysv/linux/clock_gettime.c > @@ -26,11 +26,20 @@ > #endif > #include > > +#include > + > /* Get current value of CLOCK and store it in TP. */ > int > __clock_gettime (clockid_t clock_id, struct timespec *tp) > { > return INLINE_VSYSCALL (clock_gettime, 2, clock_id, tp); > } > -weak_alias (__clock_gettime, clock_gettime) > libc_hidden_def (__clock_gettime) > + > +versioned_symbol (libc, __clock_gettime, clock_gettime, GLIBC_2_17); > +/* clock_gettime moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_gettime, __clock_gettime_2); > +compat_symbol (libc, __clock_gettime_2, clock_gettime, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/sysv/linux/clock_nanosleep.c b/sysdeps/unix/sysv/linux/clock_nanosleep.c > index 0cb6614dc9..e19e09d197 100644 > --- a/sysdeps/unix/sysv/linux/clock_nanosleep.c > +++ b/sysdeps/unix/sysv/linux/clock_nanosleep.c > @@ -21,6 +21,7 @@ > #include > #include "kernel-posix-cpu-timers.h" > > +#include > > /* We can simply use the syscall. The CPU clocks are not supported > with this function. */ > @@ -41,4 +42,11 @@ __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, > return (INTERNAL_SYSCALL_ERROR_P (r, err) > ? INTERNAL_SYSCALL_ERRNO (r, err) : 0); > } > -weak_alias (__clock_nanosleep, clock_nanosleep) > + > +versioned_symbol (libc, __clock_nanosleep, clock_nanosleep, GLIBC_2_17); > +/* clock_nanosleep moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_nanosleep, __clock_nanosleep_2); > +compat_symbol (libc, __clock_nanosleep_2, clock_nanosleep, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/sysv/linux/clock_settime.c b/sysdeps/unix/sysv/linux/clock_settime.c > index d837e3019c..0586d15722 100644 > --- a/sysdeps/unix/sysv/linux/clock_settime.c > +++ b/sysdeps/unix/sysv/linux/clock_settime.c > @@ -18,6 +18,7 @@ > #include > #include > #include > +#include > > #include "kernel-posix-cpu-timers.h" > > @@ -34,4 +35,12 @@ __clock_settime (clockid_t clock_id, const struct timespec *tp) > > return INLINE_SYSCALL_CALL (clock_settime, clock_id, tp); > } > -weak_alias (__clock_settime, clock_settime) > +libc_hidden_def (__clock_settime) > + > +versioned_symbol (libc, __clock_settime, clock_settime, GLIBC_2_17); > +/* clock_settime moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_settime, __clock_settime_2); > +compat_symbol (libc, __clock_settime_2, clock_settime, GLIBC_2_2); > +#endif Ok. > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 75edece94a..df6d96fbae 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -615,6 +615,11 @@ GLIBC_2.2 clntudp_bufcreate F > GLIBC_2.2 clntudp_create F > GLIBC_2.2 clntunix_create F > GLIBC_2.2 clock F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 clone F > GLIBC_2.2 close F > GLIBC_2.2 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist > index 595f1b712a..bb03781dcc 100644 > --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index edeaf8e722..fcb625b6bf 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -1869,6 +1869,11 @@ GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x30 > GLIBC_2.2 alphasort64 F > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist > index 595f1b712a..bb03781dcc 100644 > --- a/sysdeps/unix/sysv/linux/i386/librt.abilist > +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index b5d460eeb2..cb556c5998 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -627,6 +627,11 @@ GLIBC_2.2 clntudp_bufcreate F > GLIBC_2.2 clntudp_create F > GLIBC_2.2 clntunix_create F > GLIBC_2.2 clock F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 close F > GLIBC_2.2 closedir F > GLIBC_2.2 closelog F Ok. > diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist > index 804622a14a..08384c9065 100644 > --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index 05633b3cb8..f3aa47d090 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -755,6 +755,11 @@ GLIBC_2.4 clntudp_bufcreate F > GLIBC_2.4 clntudp_create F > GLIBC_2.4 clntunix_create F > GLIBC_2.4 clock F > +GLIBC_2.4 clock_getcpuclockid F > +GLIBC_2.4 clock_getres F > +GLIBC_2.4 clock_gettime F > +GLIBC_2.4 clock_nanosleep F > +GLIBC_2.4 clock_settime F > GLIBC_2.4 clone F > GLIBC_2.4 close F > GLIBC_2.4 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > index cfbbd27557..3c0647b251 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.4 aio_suspend F > GLIBC_2.4 aio_suspend64 F > GLIBC_2.4 aio_write F > GLIBC_2.4 aio_write64 F > -GLIBC_2.4 clock_getcpuclockid F > -GLIBC_2.4 clock_getres F > -GLIBC_2.4 clock_gettime F > -GLIBC_2.4 clock_nanosleep F > -GLIBC_2.4 clock_settime F > GLIBC_2.4 lio_listio F > GLIBC_2.4 lio_listio64 F > GLIBC_2.4 mq_close F Ok. > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index 47eb7b4608..64d4623b6b 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -1825,6 +1825,11 @@ GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x30 > GLIBC_2.2 alphasort64 F > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > index 595f1b712a..bb03781dcc 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/microblaze/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/librt.abilist > index fb85d8729e..889dfbc0ee 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/librt.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/librt.abilist > @@ -14,11 +14,6 @@ GLIBC_2.18 aio_suspend F > GLIBC_2.18 aio_suspend64 F > GLIBC_2.18 aio_write F > GLIBC_2.18 aio_write64 F > -GLIBC_2.18 clock_getcpuclockid F > -GLIBC_2.18 clock_getres F > -GLIBC_2.18 clock_gettime F > -GLIBC_2.18 clock_nanosleep F > -GLIBC_2.18 clock_settime F > GLIBC_2.18 lio_listio F > GLIBC_2.18 lio_listio64 F > GLIBC_2.18 mq_close F Ok. > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index e49dc4272e..06c2e64edd 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -1612,6 +1612,11 @@ GLIBC_2.2 capget F > GLIBC_2.2 capset F > GLIBC_2.2 cbc_crypt F > GLIBC_2.2 clntunix_create F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 creat64 F > GLIBC_2.2 dcngettext F > GLIBC_2.2 des_setparity F Ok. > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > index 84837c8a2e..1539c1cef9 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.2 aio_suspend F > GLIBC_2.2 aio_suspend64 F > GLIBC_2.2 aio_write F > GLIBC_2.2 aio_write64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 lio_listio F > GLIBC_2.2 lio_listio64 F > GLIBC_2.2 shm_open F Ok. > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index daa3b60c5b..bdfd073b86 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -1610,6 +1610,11 @@ GLIBC_2.2 capget F > GLIBC_2.2 capset F > GLIBC_2.2 cbc_crypt F > GLIBC_2.2 clntunix_create F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 creat64 F > GLIBC_2.2 dcngettext F > GLIBC_2.2 des_setparity F Ok. > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist > index 84837c8a2e..1539c1cef9 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.2 aio_suspend F > GLIBC_2.2 aio_suspend64 F > GLIBC_2.2 aio_write F > GLIBC_2.2 aio_write64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 lio_listio F > GLIBC_2.2 lio_listio64 F > GLIBC_2.2 shm_open F Ok. > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 457ce0b6f2..3d61d4974a 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -1611,6 +1611,11 @@ GLIBC_2.2 capget F > GLIBC_2.2 capset F > GLIBC_2.2 cbc_crypt F > GLIBC_2.2 clntunix_create F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 creat64 F > GLIBC_2.2 dcngettext F > GLIBC_2.2 des_setparity F Ok. > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index 63d5c03bfb..675acca5db 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -1607,6 +1607,11 @@ GLIBC_2.2 capget F > GLIBC_2.2 capset F > GLIBC_2.2 cbc_crypt F > GLIBC_2.2 clntunix_create F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 creat64 F > GLIBC_2.2 dcngettext F > GLIBC_2.2 des_setparity F Ok. > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index 9200a54309..1e8ff6f83e 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -1830,6 +1830,11 @@ GLIBC_2.2 __xstat64 F > GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x30 > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > index 595f1b712a..bb03781dcc 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index ef7779905f..b5a0751d90 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -1834,6 +1834,11 @@ GLIBC_2.2 __xstat64 F > GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x30 > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index 2860df8ebc..0c86217fc6 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -673,6 +673,11 @@ GLIBC_2.3 clntudp_bufcreate F > GLIBC_2.3 clntudp_create F > GLIBC_2.3 clntunix_create F > GLIBC_2.3 clock F > +GLIBC_2.3 clock_getcpuclockid F > +GLIBC_2.3 clock_getres F > +GLIBC_2.3 clock_gettime F > +GLIBC_2.3 clock_nanosleep F > +GLIBC_2.3 clock_settime F > GLIBC_2.3 clone F > GLIBC_2.3 close F > GLIBC_2.3 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > index e76b7eb495..6a5bd96963 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.3 aio_suspend F > GLIBC_2.3 aio_suspend64 F > GLIBC_2.3 aio_write F > GLIBC_2.3 aio_write64 F > -GLIBC_2.3 clock_getcpuclockid F > -GLIBC_2.3 clock_getres F > -GLIBC_2.3 clock_gettime F > -GLIBC_2.3 clock_nanosleep F > -GLIBC_2.3 clock_settime F > GLIBC_2.3 lio_listio F > GLIBC_2.3 lio_listio64 F > GLIBC_2.3 shm_open F Ok. > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 576295deff..122d0fb65a 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -1829,6 +1829,11 @@ GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x30 > GLIBC_2.2 alphasort64 F > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > index 595f1b712a..bb03781dcc 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index abf0473683..efe588a072 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -632,6 +632,11 @@ GLIBC_2.2 clntudp_bufcreate F > GLIBC_2.2 clntudp_create F > GLIBC_2.2 clntunix_create F > GLIBC_2.2 clock F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 clone F > GLIBC_2.2 close F > GLIBC_2.2 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > index 41be3bb84b..5905498a48 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.2 aio_suspend F > GLIBC_2.2 aio_suspend64 F > GLIBC_2.2 aio_write F > GLIBC_2.2 aio_write64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 lio_listio F > GLIBC_2.2 lio_listio64 F > GLIBC_2.2 shm_open F Ok. > diff --git a/sysdeps/unix/sysv/linux/sh/libc.abilist b/sysdeps/unix/sysv/linux/sh/libc.abilist > index 41977f6e9c..4b057bf4a2 100644 > --- a/sysdeps/unix/sysv/linux/sh/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/libc.abilist > @@ -618,6 +618,11 @@ GLIBC_2.2 clntudp_bufcreate F > GLIBC_2.2 clntudp_create F > GLIBC_2.2 clntunix_create F > GLIBC_2.2 clock F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 clone F > GLIBC_2.2 close F > GLIBC_2.2 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/sh/librt.abilist b/sysdeps/unix/sysv/linux/sh/librt.abilist > index 595f1b712a..bb03781dcc 100644 > --- a/sysdeps/unix/sysv/linux/sh/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sh/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 3d2f00ca52..49cd597fd6 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -1826,6 +1826,11 @@ GLIBC_2.2 __xstat64 F > GLIBC_2.2 _flushlbf F > GLIBC_2.2 _res_hconf D 0x30 > GLIBC_2.2 bind_textdomain_codeset F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 dcngettext F > GLIBC_2.2 dngettext F > GLIBC_2.2 fgetpos F Ok. > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > index cb874f4147..38f0aad791 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index 2f20643e8e..95e68e0ba1 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -660,6 +660,11 @@ GLIBC_2.2 clntudp_bufcreate F > GLIBC_2.2 clntudp_create F > GLIBC_2.2 clntunix_create F > GLIBC_2.2 clock F > +GLIBC_2.2 clock_getcpuclockid F > +GLIBC_2.2 clock_getres F > +GLIBC_2.2 clock_gettime F > +GLIBC_2.2 clock_nanosleep F > +GLIBC_2.2 clock_settime F > GLIBC_2.2 clone F > GLIBC_2.2 close F > GLIBC_2.2 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > index d7a049cf60..71f86e03ce 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist > @@ -15,11 +15,6 @@ GLIBC_2.1 aio_write F > GLIBC_2.1 aio_write64 F > GLIBC_2.1 lio_listio F > GLIBC_2.1 lio_listio64 F > -GLIBC_2.2 clock_getcpuclockid F > -GLIBC_2.2 clock_getres F > -GLIBC_2.2 clock_gettime F > -GLIBC_2.2 clock_nanosleep F > -GLIBC_2.2 clock_settime F > GLIBC_2.2 shm_open F > GLIBC_2.2 shm_unlink F > GLIBC_2.2 timer_create F Ok. > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index 59f85d9373..1f2dbd1451 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -621,6 +621,11 @@ GLIBC_2.2.5 clntudp_bufcreate F > GLIBC_2.2.5 clntudp_create F > GLIBC_2.2.5 clntunix_create F > GLIBC_2.2.5 clock F > +GLIBC_2.2.5 clock_getcpuclockid F > +GLIBC_2.2.5 clock_getres F > +GLIBC_2.2.5 clock_gettime F > +GLIBC_2.2.5 clock_nanosleep F > +GLIBC_2.2.5 clock_settime F > GLIBC_2.2.5 clone F > GLIBC_2.2.5 close F > GLIBC_2.2.5 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > index e2e8b60bf8..95e3f22daa 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist > @@ -13,11 +13,6 @@ GLIBC_2.2.5 aio_suspend F > GLIBC_2.2.5 aio_suspend64 F > GLIBC_2.2.5 aio_write F > GLIBC_2.2.5 aio_write64 F > -GLIBC_2.2.5 clock_getcpuclockid F > -GLIBC_2.2.5 clock_getres F > -GLIBC_2.2.5 clock_gettime F > -GLIBC_2.2.5 clock_nanosleep F > -GLIBC_2.2.5 clock_settime F > GLIBC_2.2.5 lio_listio F > GLIBC_2.2.5 lio_listio64 F > GLIBC_2.2.5 shm_open F Ok. > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index 67a4e238d6..59da85a5d8 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -660,6 +660,11 @@ GLIBC_2.16 clntudp_create F > GLIBC_2.16 clntunix_create F > GLIBC_2.16 clock F > GLIBC_2.16 clock_adjtime F > +GLIBC_2.16 clock_getcpuclockid F > +GLIBC_2.16 clock_getres F > +GLIBC_2.16 clock_gettime F > +GLIBC_2.16 clock_nanosleep F > +GLIBC_2.16 clock_settime F > GLIBC_2.16 clone F > GLIBC_2.16 close F > GLIBC_2.16 closedir F Ok. > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist > index 94e84e4dcf..66969fb9ab 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist > @@ -14,11 +14,6 @@ GLIBC_2.16 aio_suspend F > GLIBC_2.16 aio_suspend64 F > GLIBC_2.16 aio_write F > GLIBC_2.16 aio_write64 F > -GLIBC_2.16 clock_getcpuclockid F > -GLIBC_2.16 clock_getres F > -GLIBC_2.16 clock_gettime F > -GLIBC_2.16 clock_nanosleep F > -GLIBC_2.16 clock_settime F > GLIBC_2.16 lio_listio F > GLIBC_2.16 lio_listio64 F > GLIBC_2.16 mq_close F Ok. > diff --git a/time/Makefile b/time/Makefile > index a428f55245..85a62c0376 100644 > --- a/time/Makefile > +++ b/time/Makefile > @@ -36,14 +36,18 @@ routines := offtime asctime clock ctime ctime_r difftime \ > stime dysize timegm ftime \ > getdate strptime strptime_l \ > strftime wcsftime strftime_l wcsftime_l \ > - timespec_get > + timespec_get \ > + clock_getcpuclockid clock_getres \ > + clock_gettime clock_settime clock_nanosleep > + > aux := era alt_digit lc-time-cleanup > > tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \ > tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \ > tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \ > tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime \ > - tst-tzname tst-y2039 bug-mktime4 tst-strftime2 tst-strftime3 > + tst-tzname tst-y2039 bug-mktime4 tst-strftime2 tst-strftime3 \ > + tst-clock tst-clock2 tst-clock_nanosleep tst-cpuclock1 > > include ../Rules > Ok. > diff --git a/time/Versions b/time/Versions > index fd838181e4..8788e192ce 100644 > --- a/time/Versions > +++ b/time/Versions > @@ -49,6 +49,10 @@ libc { > GLIBC_2.2 { > # w* > wcsftime; > + > + # c*; actually in librt in version 2.2, moved to libc in 2.17 > + clock_getres; clock_gettime; clock_settime; clock_getcpuclockid; > + clock_nanosleep; > } > GLIBC_2.3 { > # these internal names are used by libstdc++ Ok. > @@ -65,4 +69,13 @@ libc { > GLIBC_2.16 { > timespec_get; > } > + GLIBC_2.17 { > + # c* > + clock_getres; clock_gettime; clock_settime; clock_getcpuclockid; > + clock_nanosleep; > + } > + GLIBC_PRIVATE { > + # same as clock_gettime; used in other libraries > + __clock_gettime; > + } > } Ok. > diff --git a/rt/clock_getcpuclockid.c b/time/clock_getcpuclockid.c > similarity index 75% > rename from rt/clock_getcpuclockid.c > rename to time/clock_getcpuclockid.c > index 22b9f1383c..8d205abfa9 100644 > --- a/rt/clock_getcpuclockid.c > +++ b/time/clock_getcpuclockid.c > @@ -19,6 +19,7 @@ > #include > #include > #include > +#include > > int > __clock_getcpuclockid (pid_t pid, clockid_t *clock_id) > @@ -37,4 +38,10 @@ __clock_getcpuclockid (pid_t pid, clockid_t *clock_id) > return ENOENT; > #endif > } > -weak_alias (__clock_getcpuclockid, clock_getcpuclockid) > +versioned_symbol (libc, __clock_getcpuclockid, clock_getcpuclockid, GLIBC_2_17); > +/* clock_getcpuclockid moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_getcpuclockid, __clock_getcpuclockid_2); > +compat_symbol (libc, __clock_getcpuclockid_2, clock_getcpuclockid, GLIBC_2_2); > +#endif Ok. > diff --git a/rt/clock_getres.c b/time/clock_getres.c > similarity index 73% > rename from rt/clock_getres.c > rename to time/clock_getres.c > index b990bf0af0..412f80fbec 100644 > --- a/rt/clock_getres.c > +++ b/time/clock_getres.c > @@ -18,6 +18,7 @@ > > #include > #include > +#include > > /* Get resolution of clock. */ > int > @@ -26,5 +27,13 @@ __clock_getres (clockid_t clock_id, struct timespec *res) > __set_errno (ENOSYS); > return -1; > } > -weak_alias (__clock_getres, clock_getres) > + > +versioned_symbol (libc, __clock_getres, clock_getres, GLIBC_2_17); > +/* clock_getres moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_getres, __clock_getres_2); > +compat_symbol (libc, __clock_getres_2, clock_getres, GLIBC_2_2); > +#endif > + > stub_warning (clock_getres) Ok. > diff --git a/rt/clock_gettime.c b/time/clock_gettime.c > similarity index 74% > rename from rt/clock_gettime.c > rename to time/clock_gettime.c > index 0426dd2c76..92c6081dcb 100644 > --- a/rt/clock_gettime.c > +++ b/time/clock_gettime.c > @@ -18,6 +18,7 @@ > > #include > #include > +#include > > /* Get current value of CLOCK and store it in TP. */ > int > @@ -26,6 +27,14 @@ __clock_gettime (clockid_t clock_id, struct timespec *tp) > __set_errno (ENOSYS); > return -1; > } > -weak_alias (__clock_gettime, clock_gettime) > libc_hidden_def (__clock_gettime) > + > +versioned_symbol (libc, __clock_gettime, clock_gettime, GLIBC_2_17); > +/* clock_gettime moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_gettime, __clock_gettime_2); > +compat_symbol (libc, __clock_gettime_2, clock_gettime, GLIBC_2_2); > +#endif > + > stub_warning (clock_gettime) Ok. > diff --git a/rt/clock_nanosleep.c b/time/clock_nanosleep.c > similarity index 76% > rename from rt/clock_nanosleep.c > rename to time/clock_nanosleep.c > index 5b724e593b..c53c820880 100644 > --- a/rt/clock_nanosleep.c > +++ b/time/clock_nanosleep.c > @@ -18,6 +18,7 @@ > > #include > #include > +#include > > int > __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, > @@ -33,5 +34,13 @@ __clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, > /* Not implemented. */ > return ENOSYS; > } > -weak_alias (__clock_nanosleep, clock_nanosleep) > + > +versioned_symbol (libc, __clock_nanosleep, clock_nanosleep, GLIBC_2_17); > +/* clock_nanosleep moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_nanosleep, __clock_nanosleep_2); > +compat_symbol (libc, __clock_nanosleep_2, clock_nanosleep, GLIBC_2_2); > +#endif > + > stub_warning (clock_nanosleep) Ok. > diff --git a/rt/clock_settime.c b/time/clock_settime.c > similarity index 71% > rename from rt/clock_settime.c > rename to time/clock_settime.c > index 891925ab2c..dd86a1c189 100644 > --- a/rt/clock_settime.c > +++ b/time/clock_settime.c > @@ -18,6 +18,7 @@ > > #include > #include > +#include > > /* Set CLOCK to value TP. */ > int > @@ -26,5 +27,14 @@ __clock_settime (clockid_t clock_id, const struct timespec *tp) > __set_errno (ENOSYS); > return -1; > } > -weak_alias (__clock_settime, clock_settime) > +libc_hidden_def (__clock_settime) > + > +versioned_symbol (libc, __clock_settime, clock_settime, GLIBC_2_17); > +/* clock_settime moved to libc in version 2.17; > + old binaries may expect the symbol version it had in librt. */ > +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_17) > +strong_alias (__clock_settime, __clock_settime_2); > +compat_symbol (libc, __clock_settime_2, clock_settime, GLIBC_2_2); > +#endif > + > stub_warning (clock_settime) Ok. > diff --git a/rt/tst-clock.c b/time/tst-clock.c > similarity index 100% > rename from rt/tst-clock.c > rename to time/tst-clock.c Ok. > diff --git a/rt/tst-clock2.c b/time/tst-clock2.c > similarity index 100% > rename from rt/tst-clock2.c > rename to time/tst-clock2.c Ok. > diff --git a/rt/tst-clock_nanosleep.c b/time/tst-clock_nanosleep.c > similarity index 100% > rename from rt/tst-clock_nanosleep.c > rename to time/tst-clock_nanosleep.c Ok. > diff --git a/rt/tst-cpuclock1.c b/time/tst-cpuclock1.c > similarity index 100% > rename from rt/tst-cpuclock1.c > rename to time/tst-cpuclock1.c > Ok.