From patchwork Thu Jun 3 23:17:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43715 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1CB1F39960CA for ; Thu, 3 Jun 2021 23:44:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1CB1F39960CA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622763875; bh=RAbYfLvzhjxhcnlg3KQjDFEjqplOn8yjVK/flQntJHs=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=nzdsVUnrZTlNkfzPp/DyBXJMBuIV/IXHgn5Kgmz4Xar7c1LWsD3HTzPQyvbRNfoWq QA1uWqC68ok1SXLQgFzGNdTHzbpaatqUGik7u3y4ugo91lPAuUryDR+dxZDaGC3MlQ 516jSHVI2WFWrCjTu6GDXvWPI2KpF9CURc6j5o8Y= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 141D33990434 for ; Thu, 3 Jun 2021 23:17:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 141D33990434 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-526-1LjSNUkQOxi7xH5kXmfC3Q-1; Thu, 03 Jun 2021 19:17:53 -0400 X-MC-Unique: 1LjSNUkQOxi7xH5kXmfC3Q-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C7814801817 for ; Thu, 3 Jun 2021 23:17:52 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 20F6F5D743 for ; Thu, 3 Jun 2021 23:17:50 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 34/35] Linux: Move timer_settime from librt to libc In-Reply-To: References: X-From-Line: f87c2cc375953566fb764cf1f4589399cfcfd639 Mon Sep 17 00:00:00 2001 Message-Id: Date: Fri, 04 Jun 2021 01:17:48 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. The way the ABI intransition is implemented is changed with this commit: the implementation is now consolidated in one file with a TIMER_T_WAS_INT_COMPAT check. The shared librt is now empty, so this commit adds a placeholder symbol at the base version, GLIBC_2.2, and potentially at the GLIBC_2.3.3 version as well (the leftover from the int/timer_t ABI transition). --- include/time.h | 6 +- rt/Makefile | 2 +- rt/Versions | 8 ++- rt/librt-compat.c | 16 +++-- sysdeps/unix/sysv/linux/Versions | 10 +++ sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + sysdeps/unix/sysv/linux/aarch64/librt.abilist | 2 +- sysdeps/unix/sysv/linux/alpha/Versions | 4 -- sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 + sysdeps/unix/sysv/linux/alpha/librt-compat.c | 2 +- sysdeps/unix/sysv/linux/alpha/librt.abilist | 4 +- sysdeps/unix/sysv/linux/alpha/timer_settime.c | 1 - sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + sysdeps/unix/sysv/linux/arc/librt.abilist | 2 +- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + sysdeps/unix/sysv/linux/arm/be/librt.abilist | 2 +- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/arm/le/librt.abilist | 2 +- sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + sysdeps/unix/sysv/linux/csky/librt.abilist | 2 +- sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + sysdeps/unix/sysv/linux/hppa/librt.abilist | 2 +- sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + sysdeps/unix/sysv/linux/i386/librt.abilist | 2 +- sysdeps/unix/sysv/linux/ia64/Versions | 6 -- sysdeps/unix/sysv/linux/ia64/libc.abilist | 3 + sysdeps/unix/sysv/linux/ia64/librt.abilist | 4 +- sysdeps/unix/sysv/linux/ia64/timer_settime.c | 1 - sysdeps/unix/sysv/linux/librt-compat.c | 26 +++++++ .../sysv/linux/m68k/coldfire/libc.abilist | 2 + .../sysv/linux/m68k/coldfire/librt.abilist | 2 +- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + .../unix/sysv/linux/m68k/m680x0/librt.abilist | 2 +- .../sysv/linux/microblaze/be/libc.abilist | 2 + .../sysv/linux/microblaze/be/librt.abilist | 2 +- .../sysv/linux/microblaze/le/libc.abilist | 2 + .../sysv/linux/microblaze/le/librt.abilist | 2 +- .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips32/librt.abilist | 2 +- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/librt.abilist | 2 +- .../sysv/linux/mips/mips64/n32/libc.abilist | 2 + .../sysv/linux/mips/mips64/n64/libc.abilist | 2 + sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + sysdeps/unix/sysv/linux/nios2/librt.abilist | 2 +- .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + .../linux/powerpc/powerpc32/librt.abilist | 2 +- .../powerpc/powerpc32/nofpu/libc.abilist | 2 + .../sysv/linux/powerpc/powerpc64/Versions | 7 -- .../linux/powerpc/powerpc64/be/libc.abilist | 3 + .../linux/powerpc/powerpc64/be/librt.abilist | 4 +- .../linux/powerpc/powerpc64/le/libc.abilist | 2 + .../linux/powerpc/powerpc64/le/librt.abilist | 2 +- .../linux/powerpc/powerpc64/timer_settime.c | 1 - .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + .../unix/sysv/linux/riscv/rv32/librt.abilist | 2 +- .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + .../unix/sysv/linux/riscv/rv64/librt.abilist | 2 +- .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + .../sysv/linux/s390/s390-32/librt.abilist | 2 +- sysdeps/unix/sysv/linux/s390/s390-64/Versions | 7 -- .../unix/sysv/linux/s390/s390-64/libc.abilist | 3 + .../sysv/linux/s390/s390-64/librt.abilist | 4 +- .../sysv/linux/s390/s390-64/timer_settime.c | 1 - sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/be/librt.abilist | 2 +- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/le/librt.abilist | 2 +- sysdeps/unix/sysv/linux/sparc/librt-compat.c | 2 +- .../sysv/linux/sparc/sparc32/libc.abilist | 2 + .../sysv/linux/sparc/sparc32/librt.abilist | 2 +- .../unix/sysv/linux/sparc/sparc64/Versions | 7 -- .../sysv/linux/sparc/sparc64/libc.abilist | 3 + .../sysv/linux/sparc/sparc64/librt.abilist | 4 +- .../sysv/linux/sparc/sparc64/timer_settime.c | 1 - sysdeps/unix/sysv/linux/timer_settime.c | 70 +++++++++++++++---- .../unix/sysv/linux/x86_64/64/libc.abilist | 3 + .../unix/sysv/linux/x86_64/64/librt.abilist | 4 +- sysdeps/unix/sysv/linux/x86_64/Versions | 7 -- sysdeps/unix/sysv/linux/x86_64/compat-timer.h | 37 ---------- .../unix/sysv/linux/x86_64/timer_settime.c | 44 ------------ .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + .../unix/sysv/linux/x86_64/x32/librt.abilist | 2 +- 83 files changed, 222 insertions(+), 184 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/alpha/timer_settime.c delete mode 100644 sysdeps/unix/sysv/linux/ia64/timer_settime.c create mode 100644 sysdeps/unix/sysv/linux/librt-compat.c delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c delete mode 100644 sysdeps/unix/sysv/linux/x86_64/compat-timer.h delete mode 100644 sysdeps/unix/sysv/linux/x86_64/timer_settime.c diff --git a/include/time.h b/include/time.h index 92a81b858f..447e0d29eb 100644 --- a/include/time.h +++ b/include/time.h @@ -236,7 +236,11 @@ extern int __timer_settime64 (timer_t timerid, int flags, extern int __timerfd_settime64 (int fd, int flags, const struct __itimerspec64 *value, struct __itimerspec64 *ovalue); -librt_hidden_proto (__timer_settime64); +# if PTHREAD_IN_LIBC +libc_hidden_proto (__timer_settime64) +#else +librt_hidden_proto (__timer_settime64) +#endif libc_hidden_proto (__timerfd_settime64); #endif diff --git a/rt/Makefile b/rt/Makefile index 3d168f9dc0..a41bdb5728 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -30,7 +30,6 @@ routines = \ librt-routines = \ librt-compat \ - timer_settime \ librt-shared-only-routines = librt-compat @@ -63,6 +62,7 @@ $(librt-routines-var) += \ timer_delete \ timer_getoverr \ timer_gettime \ + timer_settime \ tests := tst-shm tst-timer tst-timer2 \ tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \ diff --git a/rt/Versions b/rt/Versions index d1f05af013..7e41beae06 100644 --- a/rt/Versions +++ b/rt/Versions @@ -26,6 +26,7 @@ libc { timer_delete; timer_getoverrun; timer_gettime; + timer_settime; %endif shm_open; shm_unlink; @@ -89,6 +90,7 @@ libc { timer_delete; timer_getoverrun; timer_gettime; + timer_settime; %endif shm_open; shm_unlink; @@ -132,13 +134,15 @@ librt { %endif } GLIBC_2.2 { -%if !PTHREAD_IN_LIBC +%if PTHREAD_IN_LIBC + __librt_version_placeholder; +%else timer_create; timer_delete; timer_getoverrun; timer_gettime; -%endif timer_settime; +%endif } GLIBC_2.3.4 { %if PTHREAD_IN_LIBC diff --git a/rt/librt-compat.c b/rt/librt-compat.c index 24c2ed9db4..84f50c82a9 100644 --- a/rt/librt-compat.c +++ b/rt/librt-compat.c @@ -20,6 +20,7 @@ # include # include +# if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34) void attribute_compat_text_section __attribute_used__ @@ -27,25 +28,26 @@ __librt_version_placeholder_1 (void) { } -# if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_2) compat_symbol (librt, __librt_version_placeholder_1, __librt_version_placeholder, GLIBC_2_1); # endif -# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34) \ - && ABI_librt_GLIBC_2_3_4 != ABI_librt_GLIBC_2_1 +# if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34) +compat_symbol (librt, __librt_version_placeholder_1, + __librt_version_placeholder, GLIBC_2_2); +# endif + +# if SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34) compat_symbol (librt, __librt_version_placeholder_1, __librt_version_placeholder, GLIBC_2_3_4); # endif -# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34) \ - && ABI_librt_GLIBC_2_4 != ABI_librt_GLIBC_2_1 +# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34) compat_symbol (librt, __librt_version_placeholder_1, __librt_version_placeholder, GLIBC_2_4); # endif -# if SHLIB_COMPAT (librt, GLIBC_2_7, GLIBC_2_34) \ - && ABI_librt_GLIBC_2_7 != ABI_librt_GLIBC_2_4 +# if SHLIB_COMPAT (librt, GLIBC_2_7, GLIBC_2_34) compat_symbol (librt, __librt_version_placeholder_1, __librt_version_placeholder, GLIBC_2_7); # endif diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index 27b4b9ec5b..c0ae7d9b4d 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -126,6 +126,7 @@ libc { timer_delete; timer_getoverrun; timer_gettime; + timer_settime; } GLIBC_2.3.4 { sched_getaffinity; sched_setaffinity; @@ -211,6 +212,15 @@ libc { } } +librt { + GLIBC_2.3.3 { + # Leftover from the int -> timer_t transition. For ABIs that came later + # and do not have the symbol version, this version node is merged with + # the baseline version. + __librt_version_placeholder; + } +} + ld { GLIBC_PRIVATE { __nptl_change_stack_perm; diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 132bc7fc1f..546fc700d8 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2010,6 +2010,7 @@ GLIBC_2.17 timer_create F GLIBC_2.17 timer_delete F GLIBC_2.17 timer_getoverrun F GLIBC_2.17 timer_gettime F +GLIBC_2.17 timer_settime F GLIBC_2.17 timerfd_create F GLIBC_2.17 timerfd_gettime F GLIBC_2.17 timerfd_settime F @@ -2535,6 +2536,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist index 2cb1369ddb..88d0fc382f 100644 --- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist @@ -1 +1 @@ -GLIBC_2.17 timer_settime F +GLIBC_2.17 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions index 0359822d6d..87ef61437d 100644 --- a/sysdeps/unix/sysv/linux/alpha/Versions +++ b/sysdeps/unix/sysv/linux/alpha/Versions @@ -102,8 +102,4 @@ librt { GLIBC_2.3 { __librt_version_placeholder; } - GLIBC_2.3.3 { - # Changed timer_t. - timer_settime; - } } diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 6dfefb451f..875d7a2a27 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2097,6 +2097,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 vfwprintf F GLIBC_2.2 vfwscanf F @@ -2361,6 +2362,7 @@ GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F GLIBC_2.3.4 _OtsAddX F GLIBC_2.3.4 _OtsConvertFloatTX F GLIBC_2.3.4 _OtsConvertFloatXT F @@ -2633,6 +2635,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/alpha/librt-compat.c b/sysdeps/unix/sysv/linux/alpha/librt-compat.c index 96e92e1637..7c699d3395 100644 --- a/sysdeps/unix/sysv/linux/alpha/librt-compat.c +++ b/sysdeps/unix/sysv/linux/alpha/librt-compat.c @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, see . */ -#include +#include #if SHLIB_COMPAT (librt, GLIBC_2_3, GLIBC_2_34) compat_symbol (librt, __librt_version_placeholder_1, diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist index a2de1ecd94..f68e03dfde 100644 --- a/sysdeps/unix/sysv/linux/alpha/librt.abilist +++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist @@ -1,7 +1,7 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3 __librt_version_placeholder F -GLIBC_2.3.3 timer_settime F +GLIBC_2.3.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/alpha/timer_settime.c b/sysdeps/unix/sysv/linux/alpha/timer_settime.c deleted file mode 100644 index fa231149d5..0000000000 --- a/sysdeps/unix/sysv/linux/alpha/timer_settime.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index bd33035c3e..b29233eb1c 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1944,6 +1944,7 @@ GLIBC_2.32 timer_create F GLIBC_2.32 timer_delete F GLIBC_2.32 timer_getoverrun F GLIBC_2.32 timer_gettime F +GLIBC_2.32 timer_settime F GLIBC_2.32 timerfd_create F GLIBC_2.32 timerfd_gettime F GLIBC_2.32 timerfd_settime F @@ -2294,6 +2295,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist index 0023244be6..f77591fa3e 100644 --- a/sysdeps/unix/sysv/linux/arc/librt.abilist +++ b/sysdeps/unix/sysv/linux/arc/librt.abilist @@ -1 +1 @@ -GLIBC_2.32 timer_settime F +GLIBC_2.32 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index a94a299962..e5abc6923e 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -357,6 +357,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F @@ -2277,6 +2278,7 @@ GLIBC_2.4 timer_create F GLIBC_2.4 timer_delete F GLIBC_2.4 timer_getoverrun F GLIBC_2.4 timer_gettime F +GLIBC_2.4 timer_settime F GLIBC_2.4 times F GLIBC_2.4 timezone D 0x4 GLIBC_2.4 tmpfile F diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist index b0906ea08a..0010b34d5c 100644 --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist @@ -1,2 +1,2 @@ -GLIBC_2.4 timer_settime F +GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index c6718d3a74..a34202d426 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -354,6 +354,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F @@ -2274,6 +2275,7 @@ GLIBC_2.4 timer_create F GLIBC_2.4 timer_delete F GLIBC_2.4 timer_getoverrun F GLIBC_2.4 timer_gettime F +GLIBC_2.4 timer_settime F GLIBC_2.4 times F GLIBC_2.4 timezone D 0x4 GLIBC_2.4 tmpfile F diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist index b0906ea08a..0010b34d5c 100644 --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist @@ -1,2 +1,2 @@ -GLIBC_2.4 timer_settime F +GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index dc7aadc27b..b064054694 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2034,6 +2034,7 @@ GLIBC_2.29 timer_create F 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.29 timerfd_create F GLIBC_2.29 timerfd_gettime F GLIBC_2.29 timerfd_settime F @@ -2478,6 +2479,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist index c3573b2d9e..1a55315b87 100644 --- a/sysdeps/unix/sysv/linux/csky/librt.abilist +++ b/sysdeps/unix/sysv/linux/csky/librt.abilist @@ -1 +1 @@ -GLIBC_2.29 timer_settime F +GLIBC_2.29 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 55ed375cf6..c4542690e8 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1748,6 +1748,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 times F GLIBC_2.2 timezone D 0x4 GLIBC_2.2 tmpfile F @@ -2431,6 +2432,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/hppa/librt.abilist +++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 8299b919d7..5ab56fc743 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2110,6 +2110,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 versionsort64 F GLIBC_2.2 vfwprintf F @@ -2615,6 +2616,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/i386/librt.abilist +++ b/sysdeps/unix/sysv/linux/i386/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/ia64/Versions b/sysdeps/unix/sysv/linux/ia64/Versions index 9a7faf067a..9900916a6c 100644 --- a/sysdeps/unix/sysv/linux/ia64/Versions +++ b/sysdeps/unix/sysv/linux/ia64/Versions @@ -27,9 +27,3 @@ libc { recvmsg; sendmsg; } } -librt { - GLIBC_2.3.3 { - # Changed timer_t. - timer_settime; - } -} diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index b7c70a41d3..1b991555c4 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -1769,6 +1769,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 times F GLIBC_2.2 timezone D 0x8 GLIBC_2.2 tmpfile F @@ -2226,6 +2227,7 @@ GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F GLIBC_2.3.4 __chk_fail F GLIBC_2.3.4 __fprintf_chk F GLIBC_2.3.4 __gets_chk F @@ -2471,6 +2473,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist index 7d8e91b0d9..ff77c0d32e 100644 --- a/sysdeps/unix/sysv/linux/ia64/librt.abilist +++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist @@ -1,6 +1,6 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F -GLIBC_2.3.3 timer_settime F +GLIBC_2.2 __librt_version_placeholder F +GLIBC_2.3.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/ia64/timer_settime.c b/sysdeps/unix/sysv/linux/ia64/timer_settime.c deleted file mode 100644 index fa231149d5..0000000000 --- a/sysdeps/unix/sysv/linux/ia64/timer_settime.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/linux/librt-compat.c b/sysdeps/unix/sysv/linux/librt-compat.c new file mode 100644 index 0000000000..f8b09908a2 --- /dev/null +++ b/sysdeps/unix/sysv/linux/librt-compat.c @@ -0,0 +1,26 @@ +/* Placeholder definitions to pull in removed symbol versions. Linux 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 + . */ + +#include +#include + +/* GLIBC_2.3.3 symbols were added for the int -> timer_t ABI transition. */ +#if TIMER_T_WAS_INT_COMPAT +compat_symbol (librt, __librt_version_placeholder_1, + __librt_version_placeholder, GLIBC_2_3_3); +#endif diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 921633dd5b..21598ecb8d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -358,6 +358,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F @@ -2257,6 +2258,7 @@ GLIBC_2.4 timer_create F GLIBC_2.4 timer_delete F GLIBC_2.4 timer_getoverrun F GLIBC_2.4 timer_gettime F +GLIBC_2.4 timer_settime F GLIBC_2.4 times F GLIBC_2.4 timezone D 0x4 GLIBC_2.4 tmpfile F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist index b0906ea08a..0010b34d5c 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist @@ -1,2 +1,2 @@ -GLIBC_2.4 timer_settime F +GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 1609ab1971..76284f00a8 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2066,6 +2066,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 versionsort64 F GLIBC_2.2 vfwprintf F @@ -2558,6 +2559,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 88dfdcf78e..4aba997bf0 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2014,6 +2014,7 @@ GLIBC_2.18 timer_create F 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.18 timerfd_create F GLIBC_2.18 timerfd_gettime F GLIBC_2.18 timerfd_settime F @@ -2529,6 +2530,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist index 8f8901c872..825b445ef7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist @@ -1 +1 @@ -GLIBC_2.18 timer_settime F +GLIBC_2.18 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 0b2dd534d4..d61b04b3d6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2014,6 +2014,7 @@ GLIBC_2.18 timer_create F 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.18 timerfd_create F GLIBC_2.18 timerfd_gettime F GLIBC_2.18 timerfd_settime F @@ -2526,6 +2527,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist index 8f8901c872..825b445ef7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist @@ -1 +1 @@ -GLIBC_2.18 timer_settime F +GLIBC_2.18 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 75e7671aee..d214e0a486 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1997,6 +1997,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 tmpfile F GLIBC_2.2 tmpfile64 F GLIBC_2.2 truncate64 F @@ -2523,6 +2524,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist index 406120e1d8..a7f1518c0b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist @@ -1,4 +1,4 @@ -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index a1a934c115..c7c7064f67 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1995,6 +1995,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 tmpfile F GLIBC_2.2 tmpfile64 F GLIBC_2.2 truncate64 F @@ -2521,6 +2522,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist index 406120e1d8..a7f1518c0b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist @@ -1,4 +1,4 @@ -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 6e8f069a52..81665dd457 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1993,6 +1993,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 tmpfile F GLIBC_2.2 tmpfile64 F GLIBC_2.2 truncate64 F @@ -2529,6 +2530,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index a6ad507d9e..a576318238 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1989,6 +1989,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 tmpfile F GLIBC_2.2 tmpfile64 F GLIBC_2.2 truncate64 F @@ -2523,6 +2524,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 4ece38246a..1ecf6d5f0e 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2056,6 +2056,7 @@ GLIBC_2.21 timer_create F 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.21 timerfd_create F GLIBC_2.21 timerfd_gettime F GLIBC_2.21 timerfd_settime F @@ -2568,6 +2569,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist index d2298d7d44..834a4dcc7a 100644 --- a/sysdeps/unix/sysv/linux/nios2/librt.abilist +++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist @@ -1 +1 @@ -GLIBC_2.21 timer_settime F +GLIBC_2.21 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 43fa1ce5a8..fc1df8e60b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2071,6 +2071,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 vfwprintf F GLIBC_2.2 vfwscanf F @@ -2585,6 +2586,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 53a23d406a..3e18adf71c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2075,6 +2075,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 vfwprintf F GLIBC_2.2 vfwscanf F @@ -2618,6 +2619,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions index 8607ac1012..0cdda49402 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions @@ -25,10 +25,3 @@ libc { __ppc_get_timebase_freq; } } - -librt { - GLIBC_2.3.3 { - # Changed timer_t. - timer_settime; - } -} diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 2c97b206fd..b2ab0f68a3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -1890,6 +1890,7 @@ GLIBC_2.3 timer_create F GLIBC_2.3 timer_delete F GLIBC_2.3 timer_getoverrun F GLIBC_2.3 timer_gettime F +GLIBC_2.3 timer_settime F GLIBC_2.3 times F GLIBC_2.3 timezone D 0x8 GLIBC_2.3 tmpfile F @@ -2170,6 +2171,7 @@ GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F GLIBC_2.3.4 __chk_fail F GLIBC_2.3.4 __fprintf_chk F GLIBC_2.3.4 __gets_chk F @@ -2435,6 +2437,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist index bfaae8ac0e..506870e3fd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist @@ -1,5 +1,5 @@ -GLIBC_2.3 timer_settime F -GLIBC_2.3.3 timer_settime F +GLIBC_2.3 __librt_version_placeholder F +GLIBC_2.3.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index c43d39328d..0e01094c4e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2098,6 +2098,7 @@ GLIBC_2.17 timer_create F GLIBC_2.17 timer_delete F GLIBC_2.17 timer_getoverrun F GLIBC_2.17 timer_gettime F +GLIBC_2.17 timer_settime F GLIBC_2.17 timerfd_create F GLIBC_2.17 timerfd_gettime F GLIBC_2.17 timerfd_settime F @@ -2731,6 +2732,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist index 2cb1369ddb..88d0fc382f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist @@ -1 +1 @@ -GLIBC_2.17 timer_settime F +GLIBC_2.17 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c deleted file mode 100644 index fa231149d5..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 2a26211fda..78c47b3f4e 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -1954,6 +1954,7 @@ GLIBC_2.33 timer_create F GLIBC_2.33 timer_delete F GLIBC_2.33 timer_getoverrun F GLIBC_2.33 timer_gettime F +GLIBC_2.33 timer_settime F GLIBC_2.33 timerfd_create F GLIBC_2.33 timerfd_gettime F GLIBC_2.33 timerfd_settime F @@ -2296,6 +2297,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist index c59f14490e..b8af976642 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist @@ -1 +1 @@ -GLIBC_2.33 timer_settime F +GLIBC_2.33 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 73119b554b..7d93424d41 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2020,6 +2020,7 @@ GLIBC_2.27 timer_create F GLIBC_2.27 timer_delete F GLIBC_2.27 timer_getoverrun F GLIBC_2.27 timer_gettime F +GLIBC_2.27 timer_settime F GLIBC_2.27 timerfd_create F GLIBC_2.27 timerfd_gettime F GLIBC_2.27 timerfd_settime F @@ -2496,6 +2497,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist index 62ff23fd04..d7902a3ec7 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist @@ -1 +1 @@ -GLIBC_2.27 timer_settime F +GLIBC_2.27 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 16c3fc2e8c..552cc533eb 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2069,6 +2069,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 versionsort64 F GLIBC_2.2 vfwprintf F @@ -2583,6 +2584,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/Versions b/sysdeps/unix/sysv/linux/s390/s390-64/Versions index 5c682764ad..83092db48e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/Versions +++ b/sysdeps/unix/sysv/linux/s390/s390-64/Versions @@ -5,10 +5,3 @@ libc { __frame_state_for; __register_frame_info_table; } } - -librt { - GLIBC_2.3.3 { - # Changed timer_t. - timer_settime; - } -} diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 2a04b9d2d9..18c9a9db16 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -1765,6 +1765,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 times F GLIBC_2.2 timezone D 0x8 GLIBC_2.2 tmpfile F @@ -2216,6 +2217,7 @@ GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F GLIBC_2.3.4 __chk_fail F GLIBC_2.3.4 __fprintf_chk F GLIBC_2.3.4 __gets_chk F @@ -2472,6 +2474,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist index f851eea81e..7dac2342ac 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist @@ -1,5 +1,5 @@ -GLIBC_2.2 timer_settime F -GLIBC_2.3.3 timer_settime F +GLIBC_2.2 __librt_version_placeholder F +GLIBC_2.3.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c b/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c deleted file mode 100644 index fa231149d5..0000000000 --- a/sysdeps/unix/sysv/linux/s390/s390-64/timer_settime.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index fa4a56bedc..5ebdf78494 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -1752,6 +1752,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 times F GLIBC_2.2 timezone D 0x4 GLIBC_2.2 tmpfile F @@ -2438,6 +2439,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 928fb80b5d..6994abc772 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -1752,6 +1752,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 times F GLIBC_2.2 timezone D 0x4 GLIBC_2.2 tmpfile F @@ -2435,6 +2436,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist index 57ce681936..6d24ce527d 100644 --- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/librt-compat.c b/sysdeps/unix/sysv/linux/sparc/librt-compat.c index a3862ba127..17a7895703 100644 --- a/sysdeps/unix/sysv/linux/sparc/librt-compat.c +++ b/sysdeps/unix/sysv/linux/sparc/librt-compat.c @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, see . */ -#include +#include #if SHLIB_COMPAT (librt, GLIBC_2_3, GLIBC_2_34) compat_symbol (librt, __librt_version_placeholder_1, diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 9fae206d63..f3b548fdcf 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2064,6 +2064,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 ungetwc F GLIBC_2.2 vfwprintf F GLIBC_2.2 vfwscanf F @@ -2578,6 +2579,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist index e97dcb5e2a..7ff1ca83b1 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist @@ -1,5 +1,5 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions index 5e8f59ceae..cc152489f6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions @@ -10,10 +10,3 @@ libc { wordexp; } } - -librt { - GLIBC_2.3.3 { - # Changed timer_t. - timer_settime; - } -} diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 765fed310f..4638f29455 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -1795,6 +1795,7 @@ GLIBC_2.2 timer_create F GLIBC_2.2 timer_delete F GLIBC_2.2 timer_getoverrun F GLIBC_2.2 timer_gettime F +GLIBC_2.2 timer_settime F GLIBC_2.2 times F GLIBC_2.2 timezone D 0x8 GLIBC_2.2 tmpfile F @@ -2250,6 +2251,7 @@ GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F GLIBC_2.3.4 __chk_fail F GLIBC_2.3.4 __fprintf_chk F GLIBC_2.3.4 __gets_chk F @@ -2494,6 +2496,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist index a2de1ecd94..f68e03dfde 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist @@ -1,7 +1,7 @@ GLIBC_2.1 __librt_version_placeholder F -GLIBC_2.2 timer_settime F +GLIBC_2.2 __librt_version_placeholder F GLIBC_2.3 __librt_version_placeholder F -GLIBC_2.3.3 timer_settime F +GLIBC_2.3.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c deleted file mode 100644 index fa231149d5..0000000000 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/linux/timer_settime.c b/sysdeps/unix/sysv/linux/timer_settime.c index b8326e36a4..15a3c0fefa 100644 --- a/sysdeps/unix/sysv/linux/timer_settime.c +++ b/sysdeps/unix/sysv/linux/timer_settime.c @@ -22,7 +22,9 @@ #include #include #include +#include +#if !TIMER_T_WAS_INT_COMPAT int __timer_settime64 (timer_t timerid, int flags, const struct __itimerspec64 *value, @@ -30,19 +32,19 @@ __timer_settime64 (timer_t timerid, int flags, { kernel_timer_t ktimerid = timerid_to_kernel_timer (timerid); -#ifdef __ASSUME_TIME64_SYSCALLS -# ifndef __NR_timer_settime64 -# define __NR_timer_settime64 __NR_timer_settime -# endif +# ifdef __ASSUME_TIME64_SYSCALLS +# ifndef __NR_timer_settime64 +# define __NR_timer_settime64 __NR_timer_settime +# endif return INLINE_SYSCALL_CALL (timer_settime64, ktimerid, flags, value, ovalue); -#else -# ifdef __NR_timer_settime64 +# else +# ifdef __NR_timer_settime64 int ret = INLINE_SYSCALL_CALL (timer_settime64, ktimerid, flags, value, ovalue); if (ret == 0 || errno != ENOSYS) return ret; -# endif +# endif struct itimerspec its32, oits32; if (! in_time_t_range ((value->it_value).tv_sec) @@ -64,11 +66,17 @@ __timer_settime64 (timer_t timerid, int flags, } return retval; -#endif +# endif } -#if __TIMESIZE != 64 -librt_hidden_def (__timer_settime64) +# if __TIMESIZE == 64 +versioned_symbol (libc, __timer_settime64, timer_settime, GLIBC_2_34); +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34) +compat_symbol (librt, __timer_settime64, timer_settime, GLIBC_2_2); +# endif + +#else /* __TIMESIZE != 64 */ +libc_hidden_def (__timer_settime64) int __timer_settime (timer_t timerid, int flags, const struct itimerspec *value, @@ -89,5 +97,43 @@ __timer_settime (timer_t timerid, int flags, const struct itimerspec *value, return retval; } -#endif -weak_alias (__timer_settime, timer_settime) +versioned_symbol (libc, __timer_settime, timer_settime, GLIBC_2_34); + +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34) +compat_symbol (librt, __timer_settime, timer_settime, GLIBC_2_2); +# endif +# endif /* __TIMESIZE != 64 */ + +#else /* TIMER_T_WAS_INT_COMPAT */ + +extern __typeof (timer_settime) __timer_settime_new; +libc_hidden_proto (__timer_settime_new) + +int +___timer_settime_new (timer_t timerid, int flags, + const struct itimerspec *value, + struct itimerspec *ovalue) +{ + kernel_timer_t ktimerid = timerid_to_kernel_timer (timerid); + + return INLINE_SYSCALL_CALL (timer_settime, ktimerid, flags, value, ovalue); +} +versioned_symbol (libc, ___timer_settime_new, timer_settime, GLIBC_2_34); +libc_hidden_ver (___timer_settime_new, __timer_settime_new) + +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_3, GLIBC_2_34) +compat_symbol (librt, ___timer_settime_new, timer_settime, GLIBC_2_3_3); +# endif + +# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) +int +__timer_settime_old (int timerid, int flags, const struct itimerspec *value, + struct itimerspec *ovalue) +{ + return __timer_settime_new (__timer_compat_list[timerid], flags, + value, ovalue); +} +compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2); +# endif + +#endif /* TIMER_T_WAS_INT_COMPAT */ diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index ee6ede5ec0..29f9c73901 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -1764,6 +1764,7 @@ GLIBC_2.2.5 timer_create F GLIBC_2.2.5 timer_delete F GLIBC_2.2.5 timer_getoverrun F GLIBC_2.2.5 timer_gettime F +GLIBC_2.2.5 timer_settime F GLIBC_2.2.5 times F GLIBC_2.2.5 timezone D 0x8 GLIBC_2.2.5 tmpfile F @@ -2204,6 +2205,7 @@ GLIBC_2.3.3 timer_create F GLIBC_2.3.3 timer_delete F GLIBC_2.3.3 timer_getoverrun F GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F GLIBC_2.3.4 __chk_fail F GLIBC_2.3.4 __fprintf_chk F GLIBC_2.3.4 __gets_chk F @@ -2450,6 +2452,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist index 913835d267..752a38a6df 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist @@ -1,5 +1,5 @@ -GLIBC_2.2.5 timer_settime F -GLIBC_2.3.3 timer_settime F +GLIBC_2.2.5 __librt_version_placeholder F +GLIBC_2.3.3 __librt_version_placeholder F GLIBC_2.3.4 __librt_version_placeholder F GLIBC_2.4 __librt_version_placeholder F GLIBC_2.7 __librt_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/x86_64/Versions b/sysdeps/unix/sysv/linux/x86_64/Versions index 8deeb8908a..fd1b3cc296 100644 --- a/sysdeps/unix/sysv/linux/x86_64/Versions +++ b/sysdeps/unix/sysv/linux/x86_64/Versions @@ -7,10 +7,3 @@ libc { modify_ldt; } } - -librt { - GLIBC_2.3.3 { - # Changed timer_t. - timer_settime; - } -} diff --git a/sysdeps/unix/sysv/linux/x86_64/compat-timer.h b/sysdeps/unix/sysv/linux/x86_64/compat-timer.h deleted file mode 100644 index c61eb40070..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/compat-timer.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2003. - - 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; see the file COPYING.LIB. If - not, see . */ - -#include -#include -#include - -extern int __timer_getoverrun_new (timer_t timerid); -extern int __timer_gettime_new (timer_t timerid, struct itimerspec *value); -extern int __timer_settime_new (timer_t timerid, int flags, - const struct itimerspec *value, - struct itimerspec *ovalue); - - -extern int __timer_create_old (clockid_t clock_id, struct sigevent *evp, - int *timerid); -extern int __timer_delete_old (int timerid); -extern int __timer_getoverrun_old (int timerid); -extern int __timer_gettime_old (int timerid, struct itimerspec *value); -extern int __timer_settime_old (int timerid, int flags, - const struct itimerspec *value, - struct itimerspec *ovalue); diff --git a/sysdeps/unix/sysv/linux/x86_64/timer_settime.c b/sysdeps/unix/sysv/linux/x86_64/timer_settime.c deleted file mode 100644 index dd7d01e849..0000000000 --- a/sysdeps/unix/sysv/linux/x86_64/timer_settime.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2003. - - 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; see the file COPYING.LIB. If - not, see . */ - -#include -#include -#include -#include "compat-timer.h" - -int -__timer_settime_new (timer_t timerid, int flags, const struct itimerspec *value, - struct itimerspec *ovalue) -{ - kernel_timer_t ktimerid = timerid_to_kernel_timer (timerid); - - return INLINE_SYSCALL_CALL (timer_settime, ktimerid, flags, value, ovalue); -} -versioned_symbol (librt, __timer_settime_new, timer_settime, GLIBC_2_3_3); - - -#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) -int -__timer_settime_old (int timerid, int flags, const struct itimerspec *value, - struct itimerspec *ovalue) -{ - return __timer_settime_new (__timer_compat_list[timerid], flags, - value, ovalue); -} -compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2); -#endif diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index a37522d210..c5c0a2a843 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2015,6 +2015,7 @@ GLIBC_2.16 timer_create F GLIBC_2.16 timer_delete F GLIBC_2.16 timer_getoverrun F GLIBC_2.16 timer_gettime F +GLIBC_2.16 timer_settime F GLIBC_2.16 timerfd_create F GLIBC_2.16 timerfd_gettime F GLIBC_2.16 timerfd_settime F @@ -2550,6 +2551,7 @@ GLIBC_2.34 timer_create F GLIBC_2.34 timer_delete F GLIBC_2.34 timer_getoverrun F GLIBC_2.34 timer_gettime F +GLIBC_2.34 timer_settime F GLIBC_2.34 timespec_getres F GLIBC_2.34 tss_create F GLIBC_2.34 tss_delete F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist index 50f2032de7..a39d5383e4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist @@ -1 +1 @@ -GLIBC_2.16 timer_settime F +GLIBC_2.16 __librt_version_placeholder F