From patchwork Tue Mar 16 20:04:56 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 42647 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 43D02384B009; Tue, 16 Mar 2021 20:05:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43D02384B009 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615925144; bh=eXcwRY65DstBIIK7ZJo+l2Tmdf/x7ynu+w4pgEwt3V8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=vTIlBSC4cvDZUr9X1osL+YDg7DX5SZXzVgYP5ZtBGEkOpNOHrQnKzSWMH3CwSUGgr K+3HoVhhIo8lttBJ65BJPr2yh85ItKz6jeagmVxGvbaGy5JZCVsla/cUqBPDiMRbsa F2geKayhwbjf3hhyFK9OCK41e+foppgdZ9jmGp7w= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-qv1-xf33.google.com (mail-qv1-xf33.google.com [IPv6:2607:f8b0:4864:20::f33]) by sourceware.org (Postfix) with ESMTPS id AF6A9384BC33 for ; Tue, 16 Mar 2021 20:05:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org AF6A9384BC33 Received: by mail-qv1-xf33.google.com with SMTP id q9so275530qvm.6 for ; Tue, 16 Mar 2021 13:05:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eXcwRY65DstBIIK7ZJo+l2Tmdf/x7ynu+w4pgEwt3V8=; b=YusEhqYzrwKEG0HEH/srPXG3GSogCd4sO1xv5nCB0sKY0eWrdM3be0EJGwsxYr6eBp Gry7Tp9mdveAStX1mA2D5u8Adi4MM5Sa+wbFtv8sLOzNx+5dDP5PCAZO3RcEnCWOZgWt WG0I1UZKwI/ugbJq59hNyU+jVILbsakQgOfSz3KfvYTYHTrlkwHUGZbyQoVqoHlr0ODG ZWeND8UPFbTc4f3UUWMUIHKynDHEbVB0lkscAC453g1iObG7iXGFxoIy5c9LVwpMLyD8 5JAffWogq/5VfVUKomSWV/4kh5dX1AaViZS6Hc4+l4pRmPcXPy83AoolewlZRjSKM/sJ inVA== X-Gm-Message-State: AOAM531+UlsLzUej2/upoYnAdmVz5Ox5qMHhAv7hoW+y7Wm1dzk9lHcV e67xQ1g+rFO02oS7rrfpqvvHM1Tl92V/GCm9 X-Google-Smtp-Source: ABdhPJwQOD4FgqgoY59i/O3bQ0vyEZ+Uc131PEIo2QZikSJk8C/BtCDk+Fb9+Qdta45fW05DtR4KUg== X-Received: by 2002:a05:6214:15d1:: with SMTP id p17mr1259934qvz.28.1615925135536; Tue, 16 Mar 2021 13:05:35 -0700 (PDT) Received: from localhost.localdomain ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id d16sm15558128qka.43.2021.03.16.13.05.34 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Mar 2021 13:05:35 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 16/30] nptl: Remove pwrite from libpthread Date: Tue, 16 Mar 2021 17:04:56 -0300 Message-Id: <20210316200510.2135405-17-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210316200510.2135405-1-adhemerval.zanella@linaro.org> References: <20210316200510.2135405-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, 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: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Netto Reply-To: Adhemerval Zanella Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The libc version is identical and built with same flags. Alpha is the only outlier: although it only supports LFS interfaces it provides compat symbols for pwrite as well. This is accomplished by a new flag, PWRITE64_REQUIRE_PWRITE_COMPAT, which prevents the Linux generic implementation to create the exported alias, and the libpthread compat logic is added on arch-specific implementation. Checked on x86_64-linux-gnu. --- include/unistd.h | 2 +- nptl/Makefile | 3 -- nptl/Versions | 3 -- sysdeps/pthread/sem_open.c | 2 +- .../sysv/linux/aarch64/libpthread.abilist | 3 -- sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 ++ .../unix/sysv/linux/alpha/libpthread.abilist | 3 -- sysdeps/unix/sysv/linux/alpha/pwrite64.c | 32 +++++++++++++++++++ .../unix/sysv/linux/arc/libpthread.abilist | 3 -- .../unix/sysv/linux/arm/be/libpthread.abilist | 3 -- .../unix/sysv/linux/arm/le/libpthread.abilist | 3 -- .../unix/sysv/linux/csky/libpthread.abilist | 3 -- .../unix/sysv/linux/hppa/libpthread.abilist | 3 -- sysdeps/unix/sysv/linux/i386/libc.abilist | 3 ++ .../unix/sysv/linux/i386/libpthread.abilist | 3 -- .../unix/sysv/linux/ia64/libpthread.abilist | 3 -- .../linux/m68k/coldfire/libpthread.abilist | 3 -- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 3 ++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 3 -- .../linux/microblaze/be/libpthread.abilist | 3 -- .../linux/microblaze/le/libpthread.abilist | 3 -- .../sysv/linux/mips/mips32/libpthread.abilist | 3 -- .../sysv/linux/mips/mips64/libpthread.abilist | 3 -- .../unix/sysv/linux/nios2/libpthread.abilist | 3 -- .../linux/powerpc/powerpc32/fpu/libc.abilist | 3 ++ .../powerpc/powerpc32/libpthread.abilist | 3 -- .../powerpc/powerpc32/nofpu/libc.abilist | 3 ++ .../powerpc/powerpc64/be/libpthread.abilist | 3 -- .../powerpc/powerpc64/le/libpthread.abilist | 3 -- sysdeps/unix/sysv/linux/pwrite.c | 13 ++++++++ sysdeps/unix/sysv/linux/pwrite64.c | 29 ++++++++++++++--- .../sysv/linux/riscv/rv32/libpthread.abilist | 3 -- .../sysv/linux/riscv/rv64/libpthread.abilist | 3 -- .../unix/sysv/linux/s390/s390-32/libc.abilist | 3 ++ .../linux/s390/s390-32/libpthread.abilist | 3 -- .../linux/s390/s390-64/libpthread.abilist | 3 -- .../unix/sysv/linux/sh/be/libpthread.abilist | 3 -- .../unix/sysv/linux/sh/le/libpthread.abilist | 3 -- .../sysv/linux/sparc/sparc32/libc.abilist | 3 ++ .../linux/sparc/sparc32/libpthread.abilist | 3 -- .../linux/sparc/sparc64/libpthread.abilist | 3 -- .../sysv/linux/x86_64/64/libpthread.abilist | 3 -- .../sysv/linux/x86_64/x32/libpthread.abilist | 3 -- 43 files changed, 93 insertions(+), 99 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/alpha/pwrite64.c diff --git a/include/unistd.h b/include/unistd.h index 2d3698575c..1363976161 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -57,7 +57,7 @@ extern ssize_t __pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset); libc_hidden_proto (__pwrite64) extern ssize_t __libc_pwrite64 (int __fd, const void *__buf, size_t __n, - __off64_t __offset) attribute_hidden; + __off64_t __offset); extern ssize_t __libc_read (int __fd, void *__buf, size_t __n); libc_hidden_proto (__libc_read) libc_hidden_proto (read) diff --git a/nptl/Makefile b/nptl/Makefile index 1a157ed0a6..869a732930 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -81,7 +81,6 @@ static-only-routines = pthread_atfork # We need to provide certain routines for compatibility with existing # binaries. pthread-compat-wrappers = \ - pwrite pwrite64 \ tcdrain msgrcv msgsnd \ sigwait sigsuspend \ recvmsg sendmsg @@ -284,8 +283,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-fcntl.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-fcntl64.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-lockf.c += -fexceptions -CFLAGS-pwrite.c += -fexceptions -fasynchronous-unwind-tables -CFLAGS-pwrite64.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables diff --git a/nptl/Versions b/nptl/Versions index 71d48abcef..f8e6a9f260 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -230,7 +230,6 @@ libpthread { __pthread_rwlock_trywrlock; __pthread_rwlock_unlock; __pthread_rwlock_wrlock; - __pwrite64; __res_state; pthread_attr_getstack; pthread_attr_setstack; @@ -254,8 +253,6 @@ libpthread { pthread_spin_trylock; pthread_spin_unlock; pthread_yield; - pwrite64; - pwrite; sem_timedwait; } diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c index a91df5ac93..61a4e177a6 100644 --- a/sysdeps/pthread/sem_open.c +++ b/sysdeps/pthread/sem_open.c @@ -127,7 +127,7 @@ sem_open (const char *name, int oflag, ...) } /* Open the file. Make sure we do not overwrite anything. */ - fd = __libc_open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode); + fd = open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode); if (fd == -1) { if (errno == EEXIST) diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 1eda7db3b9..d1ab2dff1d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.17 __pthread_setspecific F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F GLIBC_2.17 __pthread_unwind_next F -GLIBC_2.17 __pwrite64 F GLIBC_2.17 __res_state F GLIBC_2.17 __sigaction F GLIBC_2.17 _pthread_cleanup_pop F @@ -140,8 +139,6 @@ GLIBC_2.17 pthread_testcancel F GLIBC_2.17 pthread_timedjoin_np F GLIBC_2.17 pthread_tryjoin_np F GLIBC_2.17 pthread_yield F -GLIBC_2.17 pwrite F -GLIBC_2.17 pwrite64 F GLIBC_2.17 raise F GLIBC_2.17 recvmsg F GLIBC_2.17 sem_close F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 3de66531a2..2578675af2 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1848,6 +1848,7 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1941,6 +1942,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 rexec_af F GLIBC_2.2 rresvport_af F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 5181f0bca4..681bbef648 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F @@ -145,8 +144,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/alpha/pwrite64.c b/sysdeps/unix/sysv/linux/alpha/pwrite64.c new file mode 100644 index 0000000000..7956279e69 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/pwrite64.c @@ -0,0 +1,32 @@ +/* Write to a file descriptor at a given offset. Linux/alpha 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 + . */ + +#define PWRITE64_REQUIRE_PWRITE_COMPAT +#include + +# if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) +strong_alias (__libc_pwrite64, __compat_pwrite) +compat_symbol (libc, __compat_pwrite, pwrite, GLIBC_2_1); + +strong_alias (__libc_pwrite64, __default_pwrite) +versioned_symbol (libc, __default_pwrite, pwrite, GLIBC_2_2); + +/* It is a libc_hidden_def (__pwrite), but with a redirection due the symbol + versioning. */ +__hidden_ver1 (__compat_pwrite, __GI___pwrite, __compat_pwrite); +#endif diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index cf1d8d1754..2ee38e0d0f 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.32 __pthread_setspecific F GLIBC_2.32 __pthread_unregister_cancel F GLIBC_2.32 __pthread_unregister_cancel_restore F GLIBC_2.32 __pthread_unwind_next F -GLIBC_2.32 __pwrite64 F GLIBC_2.32 __res_state F GLIBC_2.32 __sigaction F GLIBC_2.32 _pthread_cleanup_pop F @@ -157,8 +156,6 @@ GLIBC_2.32 pthread_testcancel F GLIBC_2.32 pthread_timedjoin_np F GLIBC_2.32 pthread_tryjoin_np F GLIBC_2.32 pthread_yield F -GLIBC_2.32 pwrite F -GLIBC_2.32 pwrite64 F GLIBC_2.32 raise F GLIBC_2.32 recvmsg F GLIBC_2.32 sem_clockwait F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 4debe42e86..c1823e4c83 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -67,7 +67,6 @@ GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pthread_unwind_next F -GLIBC_2.4 __pwrite64 F GLIBC_2.4 __res_state F GLIBC_2.4 __sigaction F GLIBC_2.4 _pthread_cleanup_pop F @@ -169,8 +168,6 @@ GLIBC_2.4 pthread_testcancel F GLIBC_2.4 pthread_timedjoin_np F GLIBC_2.4 pthread_tryjoin_np F GLIBC_2.4 pthread_yield F -GLIBC_2.4 pwrite F -GLIBC_2.4 pwrite64 F GLIBC_2.4 raise F GLIBC_2.4 recvmsg F GLIBC_2.4 sem_close F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 4debe42e86..c1823e4c83 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -67,7 +67,6 @@ GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pthread_unwind_next F -GLIBC_2.4 __pwrite64 F GLIBC_2.4 __res_state F GLIBC_2.4 __sigaction F GLIBC_2.4 _pthread_cleanup_pop F @@ -169,8 +168,6 @@ GLIBC_2.4 pthread_testcancel F GLIBC_2.4 pthread_timedjoin_np F GLIBC_2.4 pthread_tryjoin_np F GLIBC_2.4 pthread_yield F -GLIBC_2.4 pwrite F -GLIBC_2.4 pwrite64 F GLIBC_2.4 raise F GLIBC_2.4 recvmsg F GLIBC_2.4 sem_close F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index e27bcbf94f..e265ad54be 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.29 __pthread_setspecific F GLIBC_2.29 __pthread_unregister_cancel F GLIBC_2.29 __pthread_unregister_cancel_restore F GLIBC_2.29 __pthread_unwind_next F -GLIBC_2.29 __pwrite64 F GLIBC_2.29 __res_state F GLIBC_2.29 __sigaction F GLIBC_2.29 _pthread_cleanup_pop F @@ -152,8 +151,6 @@ GLIBC_2.29 pthread_testcancel F GLIBC_2.29 pthread_timedjoin_np F GLIBC_2.29 pthread_tryjoin_np F GLIBC_2.29 pthread_yield F -GLIBC_2.29 pwrite F -GLIBC_2.29 pwrite64 F GLIBC_2.29 raise F GLIBC_2.29 recvmsg F GLIBC_2.29 sem_close F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 28b0a04d38..be2425ec5c 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F @@ -120,8 +119,6 @@ GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_testcancel F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 raise F GLIBC_2.2 recvmsg F GLIBC_2.2 sem_close F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index f88a24bb51..9faf9c158c 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1852,6 +1852,7 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1950,6 +1951,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 readdir64 F GLIBC_2.2 readdir64_r F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index c67d62e7b8..177a1387a2 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F @@ -145,8 +144,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index a89c3d5cd5..ee3b8e7e11 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F @@ -120,8 +119,6 @@ GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_testcancel F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 raise F GLIBC_2.2 recvmsg F GLIBC_2.2 sem_close F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 4debe42e86..c1823e4c83 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -67,7 +67,6 @@ GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pthread_unwind_next F -GLIBC_2.4 __pwrite64 F GLIBC_2.4 __res_state F GLIBC_2.4 __sigaction F GLIBC_2.4 _pthread_cleanup_pop F @@ -169,8 +168,6 @@ GLIBC_2.4 pthread_testcancel F GLIBC_2.4 pthread_timedjoin_np F GLIBC_2.4 pthread_tryjoin_np F GLIBC_2.4 pthread_yield F -GLIBC_2.4 pwrite F -GLIBC_2.4 pwrite64 F GLIBC_2.4 raise F GLIBC_2.4 recvmsg F GLIBC_2.4 sem_close F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index dd75512e35..9fea9b5c4a 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -1808,6 +1808,7 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1906,6 +1907,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 readdir64 F GLIBC_2.2 readdir64_r F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index c67d62e7b8..177a1387a2 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F @@ -145,8 +144,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 4c8394fdf4..3574b4252e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.18 __pthread_setspecific F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F GLIBC_2.18 __pthread_unwind_next F -GLIBC_2.18 __pwrite64 F GLIBC_2.18 __res_state F GLIBC_2.18 __sigaction F GLIBC_2.18 _pthread_cleanup_pop F @@ -142,8 +141,6 @@ GLIBC_2.18 pthread_testcancel F GLIBC_2.18 pthread_timedjoin_np F GLIBC_2.18 pthread_tryjoin_np F GLIBC_2.18 pthread_yield F -GLIBC_2.18 pwrite F -GLIBC_2.18 pwrite64 F GLIBC_2.18 raise F GLIBC_2.18 recvmsg F GLIBC_2.18 sem_close F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 4c8394fdf4..3574b4252e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.18 __pthread_setspecific F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F GLIBC_2.18 __pthread_unwind_next F -GLIBC_2.18 __pwrite64 F GLIBC_2.18 __res_state F GLIBC_2.18 __sigaction F GLIBC_2.18 _pthread_cleanup_pop F @@ -142,8 +141,6 @@ GLIBC_2.18 pthread_testcancel F GLIBC_2.18 pthread_timedjoin_np F GLIBC_2.18 pthread_tryjoin_np F GLIBC_2.18 pthread_yield F -GLIBC_2.18 pwrite F -GLIBC_2.18 pwrite64 F GLIBC_2.18 raise F GLIBC_2.18 recvmsg F GLIBC_2.18 sem_close F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 2c5b6b493e..4d5e53b8ba 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -87,7 +87,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -135,8 +134,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_close F GLIBC_2.2 sem_destroy F GLIBC_2.2 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 2c5b6b493e..4d5e53b8ba 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -87,7 +87,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -135,8 +134,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_close F GLIBC_2.2 sem_destroy F GLIBC_2.2 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index fa77adb3e6..2019ddd761 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.21 __pthread_setspecific F GLIBC_2.21 __pthread_unregister_cancel F GLIBC_2.21 __pthread_unregister_cancel_restore F GLIBC_2.21 __pthread_unwind_next F -GLIBC_2.21 __pwrite64 F GLIBC_2.21 __res_state F GLIBC_2.21 __sigaction F GLIBC_2.21 _pthread_cleanup_pop F @@ -142,8 +141,6 @@ GLIBC_2.21 pthread_testcancel F GLIBC_2.21 pthread_timedjoin_np F GLIBC_2.21 pthread_tryjoin_np F GLIBC_2.21 pthread_yield F -GLIBC_2.21 pwrite F -GLIBC_2.21 pwrite64 F GLIBC_2.21 raise F GLIBC_2.21 recvmsg F GLIBC_2.21 sem_close F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index aa622a5415..b1bff398d6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1814,6 +1814,7 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1911,6 +1912,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 readdir64 F GLIBC_2.2 readdir64_r F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 41c3ff53af..131e902498 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F @@ -145,8 +144,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_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 f9840c739f..1598abd156 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1818,6 +1818,7 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1915,6 +1916,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 readdir64 F GLIBC_2.2 readdir64_r F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 52506ec828..67d29ec179 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -55,7 +55,6 @@ GLIBC_2.3 __pthread_rwlock_trywrlock F GLIBC_2.3 __pthread_rwlock_unlock F GLIBC_2.3 __pthread_rwlock_wrlock F GLIBC_2.3 __pthread_setspecific F -GLIBC_2.3 __pwrite64 F GLIBC_2.3 __res_state F GLIBC_2.3 __sigaction F GLIBC_2.3 _pthread_cleanup_pop F @@ -140,8 +139,6 @@ GLIBC_2.3 pthread_spin_trylock F GLIBC_2.3 pthread_spin_unlock F GLIBC_2.3 pthread_testcancel F GLIBC_2.3 pthread_yield F -GLIBC_2.3 pwrite F -GLIBC_2.3 pwrite64 F GLIBC_2.3 raise F GLIBC_2.3 recvmsg F GLIBC_2.3 sem_close F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 1eda7db3b9..d1ab2dff1d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.17 __pthread_setspecific F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F GLIBC_2.17 __pthread_unwind_next F -GLIBC_2.17 __pwrite64 F GLIBC_2.17 __res_state F GLIBC_2.17 __sigaction F GLIBC_2.17 _pthread_cleanup_pop F @@ -140,8 +139,6 @@ GLIBC_2.17 pthread_testcancel F GLIBC_2.17 pthread_timedjoin_np F GLIBC_2.17 pthread_tryjoin_np F GLIBC_2.17 pthread_yield F -GLIBC_2.17 pwrite F -GLIBC_2.17 pwrite64 F GLIBC_2.17 raise F GLIBC_2.17 recvmsg F GLIBC_2.17 sem_close F diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c index 5ab046273f..34fb245ef0 100644 --- a/sysdeps/unix/sysv/linux/pwrite.c +++ b/sysdeps/unix/sysv/linux/pwrite.c @@ -18,6 +18,7 @@ #include #include +#include #ifndef __OFF_T_MATCHES_OFF64_T @@ -27,7 +28,19 @@ __libc_pwrite (int fd, const void *buf, size_t count, off_t offset) return SYSCALL_CANCEL (pwrite64, fd, buf, count, SYSCALL_LL_PRW (offset)); } +# if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) +strong_alias (__libc_pwrite, __compat_pwrite) +compat_symbol (libc, __compat_pwrite, pwrite, GLIBC_2_1); + +strong_alias (__libc_pwrite, __default_pwrite) +versioned_symbol (libc, __default_pwrite, pwrite, GLIBC_2_2); + +/* It is a libc_hidden_def (__pwrite64), but with a redirection due the symbol + versioning. */ +__hidden_ver1 (__libc_pwrite, __GI___pwrite, __libc_pwrite); +# else strong_alias (__libc_pwrite, __pwrite) libc_hidden_weak (__pwrite) weak_alias (__libc_pwrite, pwrite) +# endif #endif diff --git a/sysdeps/unix/sysv/linux/pwrite64.c b/sysdeps/unix/sysv/linux/pwrite64.c index bfbee9350f..6c3dc9843e 100644 --- a/sysdeps/unix/sysv/linux/pwrite64.c +++ b/sysdeps/unix/sysv/linux/pwrite64.c @@ -18,6 +18,7 @@ #include #include +#include ssize_t __libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset) @@ -25,12 +26,32 @@ __libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset) return SYSCALL_CANCEL (pwrite64, fd, buf, count, SYSCALL_LL64_PRW (offset)); } -weak_alias (__libc_pwrite64, __pwrite64) -libc_hidden_weak (__pwrite64) -weak_alias (__libc_pwrite64, pwrite64) - #ifdef __OFF_T_MATCHES_OFF64_T strong_alias (__libc_pwrite64, __libc_pwrite) +/* Similar to non-LFS symbol, alpha requires compat symbols for pwrite. */ +# ifndef PWRITE64_REQUIRE_PWRITE_COMPAT weak_alias (__libc_pwrite64, __pwrite) weak_alias (__libc_pwrite64, pwrite) +# endif +#endif + +/* libpthread compat symbols. */ +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) +strong_alias (__libc_pwrite64, __compat_pwrite64) +compat_symbol (libc, __compat_pwrite64, pwrite64, GLIBC_2_1); +strong_alias (__libc_pwrite64, __compat___pwrite64) +compat_symbol (libc, __compat___pwrite64, __pwrite64, GLIBC_2_1); + +strong_alias (__libc_pwrite64, __default___pwrite64) +versioned_symbol (libc, __default___pwrite64, __pwrite64, GLIBC_2_2); +strong_alias (__libc_pwrite64, __default_pwrite64) +versioned_symbol (libc, __default_pwrite64, pwrite64, GLIBC_2_2); + +/* It is a libc_hidden_def (__pwrite64), but with a redirection due the symbol + versioning. */ +__hidden_ver1 (__libc_pwrite64, __GI___pwrite64, __libc_pwrite64); +#else +weak_alias (__libc_pwrite64, __pwrite64) +libc_hidden_weak (__pwrite64) +weak_alias (__libc_pwrite64, pwrite64) #endif diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index b6a626ebcc..9485f30a50 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.33 __pthread_setspecific F GLIBC_2.33 __pthread_unregister_cancel F GLIBC_2.33 __pthread_unregister_cancel_restore F GLIBC_2.33 __pthread_unwind_next F -GLIBC_2.33 __pwrite64 F GLIBC_2.33 __res_state F GLIBC_2.33 __sigaction F GLIBC_2.33 _pthread_cleanup_pop F @@ -157,8 +156,6 @@ GLIBC_2.33 pthread_testcancel F GLIBC_2.33 pthread_timedjoin_np F GLIBC_2.33 pthread_tryjoin_np F GLIBC_2.33 pthread_yield F -GLIBC_2.33 pwrite F -GLIBC_2.33 pwrite64 F GLIBC_2.33 raise F GLIBC_2.33 recvmsg F GLIBC_2.33 sem_clockwait F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index e9a354002f..3befde3559 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.27 __pthread_setspecific F GLIBC_2.27 __pthread_unregister_cancel F GLIBC_2.27 __pthread_unregister_cancel_restore F GLIBC_2.27 __pthread_unwind_next F -GLIBC_2.27 __pwrite64 F GLIBC_2.27 __res_state F GLIBC_2.27 __sigaction F GLIBC_2.27 _pthread_cleanup_pop F @@ -141,8 +140,6 @@ GLIBC_2.27 pthread_testcancel F GLIBC_2.27 pthread_timedjoin_np F GLIBC_2.27 pthread_tryjoin_np F GLIBC_2.27 pthread_yield F -GLIBC_2.27 pwrite F -GLIBC_2.27 pwrite64 F GLIBC_2.27 raise F GLIBC_2.27 recvmsg F GLIBC_2.27 sem_close F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 2164777ce1..5fd3caa37d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -1812,6 +1812,7 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1909,6 +1910,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 readdir64 F GLIBC_2.2 readdir64_r F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index ae20386d5a..2291fb3015 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -123,7 +123,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F @@ -147,8 +146,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 5d1b0f53aa..3199177ab1 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -36,7 +36,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F @@ -122,8 +121,6 @@ GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_testcancel F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 raise F GLIBC_2.2 recvmsg F GLIBC_2.2 sem_close F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 28b0a04d38..be2425ec5c 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F @@ -120,8 +119,6 @@ GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_testcancel F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 raise F GLIBC_2.2 recvmsg F GLIBC_2.2 sem_close F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 28b0a04d38..be2425ec5c 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F @@ -120,8 +119,6 @@ GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_testcancel F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 raise F GLIBC_2.2 recvmsg F GLIBC_2.2 sem_close F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 0b28566840..cb8c0d398a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1810,6 +1810,7 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -1905,6 +1906,8 @@ GLIBC_2.2 putwc F GLIBC_2.2 putwc_unlocked F GLIBC_2.2 putwchar F GLIBC_2.2 putwchar_unlocked F +GLIBC_2.2 pwrite F +GLIBC_2.2 pwrite64 F GLIBC_2.2 rcmd_af F GLIBC_2.2 readdir64 F GLIBC_2.2 readdir64_r F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 5181f0bca4..681bbef648 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F @@ -145,8 +144,6 @@ GLIBC_2.2 pthread_spin_lock F GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index a89c3d5cd5..ee3b8e7e11 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F -GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 __sigaction F GLIBC_2.2 _pthread_cleanup_pop F @@ -120,8 +119,6 @@ GLIBC_2.2 pthread_spin_trylock F GLIBC_2.2 pthread_spin_unlock F GLIBC_2.2 pthread_testcancel F GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F GLIBC_2.2 raise F GLIBC_2.2 recvmsg F GLIBC_2.2 sem_close F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index cfdd8e7659..45542686ac 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -34,7 +34,6 @@ GLIBC_2.2.5 __pthread_rwlock_trywrlock F GLIBC_2.2.5 __pthread_rwlock_unlock F GLIBC_2.2.5 __pthread_rwlock_wrlock F GLIBC_2.2.5 __pthread_setspecific F -GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __res_state F GLIBC_2.2.5 __sigaction F GLIBC_2.2.5 _pthread_cleanup_pop F @@ -120,8 +119,6 @@ GLIBC_2.2.5 pthread_spin_trylock F GLIBC_2.2.5 pthread_spin_unlock F GLIBC_2.2.5 pthread_testcancel F GLIBC_2.2.5 pthread_yield F -GLIBC_2.2.5 pwrite F -GLIBC_2.2.5 pwrite64 F GLIBC_2.2.5 raise F GLIBC_2.2.5 recvmsg F GLIBC_2.2.5 sem_close F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index e0ec1fd114..5aa5002eb0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.16 __pthread_setspecific F GLIBC_2.16 __pthread_unregister_cancel F GLIBC_2.16 __pthread_unregister_cancel_restore F GLIBC_2.16 __pthread_unwind_next F -GLIBC_2.16 __pwrite64 F GLIBC_2.16 __res_state F GLIBC_2.16 __sigaction F GLIBC_2.16 _pthread_cleanup_pop F @@ -140,8 +139,6 @@ GLIBC_2.16 pthread_testcancel F GLIBC_2.16 pthread_timedjoin_np F GLIBC_2.16 pthread_tryjoin_np F GLIBC_2.16 pthread_yield F -GLIBC_2.16 pwrite F -GLIBC_2.16 pwrite64 F GLIBC_2.16 raise F GLIBC_2.16 recvmsg F GLIBC_2.16 sem_close F